diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index b00b2ebe2df340af7fee6f541c8332e0862b642b..ee2299ce6b395817bd461e56537fac19d3a4692c 100644
--- a/db/StoredProcedures.sql
+++ b/db/StoredProcedures.sql
@@ -16,27 +16,27 @@ DELIMITER //
 # "SetRate" stored procedure can change isLocked flag
 DROP FUNCTION IF EXISTS InternalIsMapLocked//
 CREATE FUNCTION `InternalIsMapLocked`
-    (`disciplineID` INT) RETURNS boolean
+    (`pDisciplineID` INT) RETURNS boolean
     NO SQL
 BEGIN  
-    DECLARE checker INT DEFAULT -1;
+    DECLARE vChecker INT DEFAULT -1;
 
     SELECT disciplines.isLocked
-        INTO checker
+        INTO vChecker
         FROM `disciplines`
-        WHERE disciplines.ID = disciplineID
+        WHERE disciplines.ID = pDisciplineID
         LIMIT 1;
-    RETURN  ( checker > 0 );
+    RETURN  ( vChecker > 0 );
 END //
 
 
 # check, that student really take this course
 DROP FUNCTION IF EXISTS InternalIsStudentAttached//
 CREATE FUNCTION `InternalIsStudentAttached`
-    (`StudentID` INT, `DisciplineID` INT) RETURNS boolean
+    (`pStudentID` INT, `pDisciplineID` INT) RETURNS boolean
     NO SQL
 BEGIN 
-    DECLARE checker boolean;
+    DECLARE vChecker boolean;
 
     # 1. student in main group and not detached OR
     # 2. student attached
@@ -46,231 +46,212 @@ BEGIN
                     ( disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach' )
                 )
             )
-    INTO checker
-    FROM `students`
-    INNER JOIN  `study_groups`          ON  students.StudyGroupID = study_groups.ID
-    LEFT JOIN   `disciplines_students`  ON  StudentID = disciplines_students.StudentID AND
-                                            DisciplineID = disciplines_students.DisciplineID
-    LEFT JOIN   `disciplines_groups`    ON  study_groups.ID = disciplines_groups.StudyGroupID AND
-                                            DisciplineID = disciplines_groups.DisciplineID
-    WHERE students.ID = StudentID
-    LIMIT 1;
+        INTO vChecker
+        FROM `students`
+        INNER JOIN  `study_groups`          ON  students.StudyGroupID = study_groups.ID
+        LEFT JOIN   `disciplines_students`  ON  disciplines_students.StudentID = pStudentID AND
+                                                disciplines_students.DisciplineID = pDisciplineID
+        LEFT JOIN   `disciplines_groups`    ON  study_groups.ID = disciplines_groups.StudyGroupID AND
+                                                disciplines_groups.DisciplineID = pDisciplineID
+        WHERE students.ID = pStudentID
+        LIMIT 1;
 
-    RETURN (checker IS NOT NULL AND checker);  
+    RETURN (vChecker IS NOT NULL AND vChecker);
 END //
 
 
 # check, that teacher teach this course
 drop function if exists InternalIsTeacherBinded//
-CREATE FUNCTION `InternalIsTeacherBinded` (   `TeacherID` INT,
-                                                `DisciplineID` INT 
-                                            )   RETURNS boolean
+CREATE FUNCTION `InternalIsTeacherBinded`
+    (   `pTeacherID` INT, `pDisciplineID` INT) RETURNS boolean
     NO SQL
 BEGIN  
-    DECLARE checker boolean DEFAULT FALSE;
+    DECLARE vChecker boolean DEFAULT FALSE;
     
     SELECT (disciplines_teachers.ID IS NOT NULL AND disciplines_teachers.ID > 0) 
-    INTO checker
-    FROM `disciplines_teachers`
-    WHERE   TeacherID = disciplines_teachers.TeacherID AND 
-            DisciplineID = disciplines_teachers.DisciplineID
-    LIMIT 1;
-    RETURN (checker IS NOT NULL AND checker); 
+        INTO vChecker
+        FROM `disciplines_teachers`
+        WHERE   disciplines_teachers.TeacherID = pTeacherID AND
+                disciplines_teachers.DisciplineID = pDisciplineID
+        LIMIT 1;
+    RETURN vChecker;
 END //
 
 
 DROP FUNCTION IF EXISTS InternalIsTeacherAuthor//
-CREATE FUNCTION `InternalIsTeacherAuthor`   (   `TeacherID` INT,
-                                                `DisciplineID` INT 
-                                            )   RETURNS boolean
+CREATE FUNCTION `InternalIsTeacherAuthor`
+    (   `pTeacherID` INT, `pDisciplineID` INT) RETURNS boolean
     NO SQL
 BEGIN  
-    DECLARE checker boolean;
-    SELECT  (TeacherID = disciplines.AuthorID) 
-    INTO checker
-    FROM `disciplines`
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
-    RETURN (checker IS NOT NULL AND checker);  
+    DECLARE vChecker boolean DEFAULT FALSE;
+    SELECT  (disciplines.AuthorID = pTeacherID)
+        INTO vChecker
+        FROM `disciplines`
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
+    RETURN vChecker;
 END //
 
 
 DROP FUNCTION IF EXISTS GetDisciplineMaxRate//
-CREATE FUNCTION `GetDisciplineMaxRate`      (   `DisciplineID` INT 
-                                            )   RETURNS int(11)
+CREATE FUNCTION `GetDisciplineMaxRate`
+    (   `pDisciplineID` INT) RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE vMax INT;
-    SET vMax = 0;
+    DECLARE vMaxRate INT DEFAULT 0;
 
     # discipline map consist of submodules, we sum all their max rates 
     SELECT SUM(submodules.MaxRate)
-    INTO vMax
-    FROM `submodules`
-    INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID AND
-                                                        (modules.Type = 'regular' OR modules.Type = 'exam')
-    WHERE DisciplineID = modules.DisciplineID;
+        INTO vMaxRate
+        FROM `submodules`
+        INNER JOIN `modules` ON submodules.ModuleID = modules.ID AND
+                                (modules.Type = 'regular' OR modules.Type = 'exam')
+        WHERE modules.DisciplineID = pDisciplineID;
             
-    RETURN vMax;
+    RETURN vMaxRate;
 END //
 
 
 DROP FUNCTION IF EXISTS GetRateForDisc//
-CREATE FUNCTION `GetRateForDisc`    (   `StudentID` INT,  
-                                `DisciplineID` INT
-                            )   RETURNS int(11)
+CREATE FUNCTION `GetRateForDisc`
+    (   `pStudentID` INT, `pDisciplineID` INT) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE rate INT;
-    SET rate = -1;
+    DECLARE vRate INT DEFAULT -1;
 
     SELECT SUM(rating_table.Rate) 
-    INTO rate
-    FROM `rating_table`
-    INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
-    INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID AND 
-                                DisciplineID = modules.DisciplineID
-    WHERE   rating_table.StudentID = StudentID AND 
+        INTO vRate
+        FROM `rating_table`
+        INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
+        INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID AND
+                                    modules.DisciplineID = pDisciplineID
+        WHERE   rating_table.StudentID = pStudentID AND
             (   modules.Type != 'exam' OR
-                submodules.ID = 
+                submodules.ID =
                     (   SELECT submodules.ID
                         FROM `submodules`
                         INNER JOIN `rating_table` ON rating_table.SubModuleID = submodules.ID
                         WHERE   submodules.ModuleID = modules.ID AND
-                                rating_table.StudentID = StudentID
+                                rating_table.StudentID = pStudentID
                         ORDER BY submodules.OrderNum DESC
                         LIMIT 1
-                    ) 
+                    )
             )
-    LIMIT 1;
+        LIMIT 1;
 
-    RETURN  rate;
+    RETURN  vRate;
 END //
 
 
 DROP FUNCTION IF EXISTS GetRateForDiscSemester//
-CREATE FUNCTION `GetRateForDiscSemester`    (   `StudentID` INT,
-                                                `DisciplineID` INT
-                                            )   RETURNS int(11)
+CREATE FUNCTION `GetRateForDiscSemester`
+    (   `pStudentID` INT, `pDisciplineID` INT) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE rate INT;
-    SET rate = -1;
+    DECLARE vRate INT DEFAULT -1;
 
     SELECT SUM(rating_table.Rate)
-    INTO rate
-    FROM `rating_table`
-    INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
-    INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
-    WHERE   rating_table.StudentID = StudentID AND 
-            DisciplineID = modules.DisciplineID AND
-            modules.Type = 'regular'
-    LIMIT 1;
+        INTO vRate
+        FROM `rating_table`
+        INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
+        INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
+        WHERE   rating_table.StudentID = pStudentID AND
+                modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'regular'
+        LIMIT 1;
 
-    RETURN  rate;
+    RETURN vRate;
 END //
 
 
 DROP FUNCTION IF EXISTS GetRateForDiscBonus//
-CREATE FUNCTION `GetRateForDiscBonus`   (   `StudentID` INT,  
-                                            `DisciplineID` INT
-                                        )   RETURNS int(11)
+CREATE FUNCTION `GetRateForDiscBonus`
+    (   `pStudentID` INT, `pDisciplineID` INT) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE rate INT;
-    SET rate = -1;
-
+    DECLARE vRate INT DEFAULT -1;
 
     SELECT SUM(rating_table.Rate)
-    INTO rate
-    FROM `rating_table`
-    INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
-    INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
-    WHERE   rating_table.StudentID = StudentID AND 
-            DisciplineID = modules.DisciplineID AND
-            modules.Type = 'bonus'
-    LIMIT 1;
+        INTO vRate
+        FROM `rating_table`
+        INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
+        INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
+        WHERE   rating_table.StudentID = pStudentID AND
+                modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'bonus'
+        LIMIT 1;
 
-    RETURN  rate;
+    RETURN  vRate;
 END //
 
 
 
 
 DROP FUNCTION IF EXISTS GetRateForDiscExam//
-CREATE FUNCTION `GetRateForDiscExam`    (   `StudentID` INT,  
-                                            `DisciplineID` INT
-                                        )   RETURNS int(11)
+CREATE FUNCTION `GetRateForDiscExam`
+    (   `pStudentID` INT, `pDisciplineID` INT) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE rate INT;
-    SET rate = -1;
-
+    DECLARE vRate INT DEFAULT -1;
 
     SELECT rating_table.Rate
-    INTO rate
-    FROM `rating_table`
-    INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
-    INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
-    WHERE   rating_table.StudentID = StudentID AND 
-            DisciplineID = modules.DisciplineID AND
-            modules.Type = 'exam'
-    ORDER BY submodules.OrderNum DESC
-    LIMIT 1;
+        INTO vRate
+        FROM `rating_table`
+        INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
+        INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
+        WHERE   rating_table.StudentID = pStudentID AND
+                modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'exam'
+        ORDER BY submodules.OrderNum DESC
+        LIMIT 1;
 
-    RETURN  rate;
+    RETURN  vRate;
 END //
 
 
 DROP FUNCTION IF EXISTS GetRateForDiscExamNum//
-CREATE FUNCTION `GetRateForDiscExamNum` (   `StudentID` INT,  
-                                                `DisciplineID` INT,
-                                                `OrderNum` INT
-                                            )   RETURNS int(11)
+CREATE FUNCTION `GetRateForDiscExamNum`
+    (   `pStudentID` INT, `pDisciplineID` INT, `pOrderNum` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE rate INT;
-    SET rate = -1;
-
+    DECLARE vRate INT DEFAULT -1;
 
     SELECT rating_table.Rate
-    INTO rate
-    FROM `rating_table`
-    INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
-    INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
-    WHERE   rating_table.StudentID = StudentID AND 
-            DisciplineID = modules.DisciplineID AND
-            modules.Type = 'exam' AND
-            submodules.OrderNum = OrderNum
-    LIMIT 1;
+        INTO vRate
+        FROM `rating_table`
+        INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
+        INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
+        WHERE   rating_table.StudentID = pStudentID AND
+                modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'exam' AND
+                submodules.OrderNum = pOrderNum
+        LIMIT 1;
 
-    RETURN  rate;
+    RETURN  vRate;
 END //
 
 
 DROP FUNCTION IF EXISTS GetRateForDiscExtra//
-CREATE FUNCTION `GetRateForDiscExtra`   (   `StudentID` INT,  
-                                            `DisciplineID` INT,
-                                            `OrderNum` INT
-                                        )   RETURNS int(11)
+CREATE FUNCTION `GetRateForDiscExtra`
+    (   `pStudentID` INT, `pDisciplineID` INT, `pOrderNum` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE rate INT;
-    SET rate = -1;
-
+    DECLARE vRate INT DEFAULT -1;
 
     SELECT rating_table.Rate
-    INTO rate
-    FROM `rating_table`
-    INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
-    INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
-    WHERE   rating_table.StudentID = StudentID AND 
-            DisciplineID = modules.DisciplineID AND
-            modules.Type = 'extra' AND
-            submodules.OrderNum = OrderNum
-    LIMIT 1;
+        INTO vRate
+        FROM `rating_table`
+        INNER JOIN `submodules` ON  rating_table.SubmoduleID = submodules.ID
+        INNER JOIN `modules`    ON  submodules.ModuleID = modules.ID
+        WHERE   rating_table.StudentID = pStudentID AND
+                modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'extra' AND
+                submodules.OrderNum = pOrderNum
+        LIMIT 1;
 
-    RETURN  rate;
+    RETURN  vRate;
 END //
 
 
@@ -279,22 +260,22 @@ END //
 
 # check, if any module is created
 DROP FUNCTION IF EXISTS InternalIsMapCreated//
-CREATE FUNCTION `InternalIsMapCreated`      (   `DisciplineID` INT 
-                                            )   RETURNS int(11)
+CREATE FUNCTION `InternalIsMapCreated`
+    (   `pDisciplineID` INT)   RETURNS int(11)
     NO SQL
-BEGIN  
-    DECLARE res INT;
+BEGIN
+    DECLARE vRes INT DEFAULT -1;
 
     SELECT SUM(submodules.MaxRate) 
-    INTO res
+    INTO vRes
     FROM `modules`
     LEFT JOIN `submodules` ON   submodules.ModuleID = modules.ID
-    WHERE   modules.DisciplineID = DisciplineID AND
+    WHERE   modules.DisciplineID = pDisciplineID AND
             (modules.Type = 'regular' OR ( modules.Type = 'exam' AND submodules.OrderNum = 1))
     LIMIT 1;
 
 
-    RETURN (res = 100);
+    RETURN (vRes = 100);
 END //
 
 
@@ -365,7 +346,7 @@ BEGIN
             LIMIT 1;
     ELSE
         INSERT INTO `page_access`   
-            (page_access.Pagename, page_access.Bitmask)
+            (Pagename, Bitmask)
             VALUES  (pPagename, pMask);
     END IF;
 
@@ -431,7 +412,7 @@ BEGIN
 
     IF semesters.ID <= 0 THEN
         INSERT INTO `general_settings`
-            (general_settings.ID, general_settings.Val)
+            (ID, Val)
             VALUES  (1, pSemesterID);
     ELSE
         UPDATE `general_settings`
@@ -633,36 +614,12 @@ BEGIN
 
     # create discipline
     INSERT INTO `study_groups`
-            (study_groups.GradeID, study_groups.GroupNum, study_groups.SpecializationID, study_groups.Name )
+            (GradeID, GroupNum, SpecializationID, Name )
     VALUES  (pGradeID, pGroupNum, pSpecializationID, pGroupName);
     RETURN 0;
 END //
 
 
-# TODO: check
-# DROP PROCEDURE IF EXISTS GetStudyGroups//
-# CREATE PROCEDURE `GetStudyGroups`    (   IN `GradeID`    INT,
-#                                      IN `FacultyID`  INT  
-#                                  )
-#     NO SQL
-# BEGIN
-#  SELECT  study_groups.ID             AS 'GroupID',
-#          study_groups.GroupNum       AS 'GroupNum',
-#          specializations.ID          AS 'SpecID',
-#          specializations.Name        AS 'SpecName',
-#          specializations.Abbr        AS 'SpecAbbr'
-#  FROM `study_groups`
-#  INNER JOIN `specializations`    ON  specializations.ID = study_groups.SpecializationID AND
-#                                      FacultyID = specializations.FacultyID
-#  WHERE   GradeID = 0 OR 
-#          study_groups.GradeID = GradeID
-#  ORDER BY    specializations.ID ASC, 
-#              study_groups.GradeID ASC, 
-#              study_groups.GroupNum ASC;
-# END //
-
-
-
 DROP PROCEDURE IF EXISTS GetStudyGroups//
 CREATE PROCEDURE `GetStudyGroups`   
     (IN `pGradeID` INT, IN `pFacultyID` INT)
@@ -746,7 +703,7 @@ BEGIN
 
         # create subject
         INSERT INTO `subjects`
-            (subjects.Name, subjects.Abbr)
+            (Name, Abbr)
             VALUES  (pSubjectName, pSubjectAbbr);
 
         # get it's id
@@ -774,7 +731,7 @@ BEGIN
 
     # attach subject to faculty
     INSERT INTO `subjects_faculties`
-        (subjects_faculties.SubjectID, subjects_faculties.FacultyID)
+        (SubjectID, FacultyID)
         VALUES (vSubjectID, pFacultyID);
     RETURN 0;
 END //
@@ -1053,7 +1010,7 @@ BEGIN
         FROM `accounts`
         WHERE accounts.EMail = pEMail
         LIMIT 1;
-    IF checker > 0 THEN 
+    IF vChecker > 0 THEN
         RETURN -1;
     END IF;
 
@@ -1089,7 +1046,7 @@ BEGIN
 
     # loging
     INSERT INTO `logs_signin`
-        (logs_signin.AccountID)
+        (AccountID)
         VALUES  (vAccountID);
 
     RETURN vAccountID;
@@ -1150,7 +1107,7 @@ DROP PROCEDURE IF EXISTS GetTeachersByFaculty//
 CREATE PROCEDURE `GetTeachersByFaculty` (IN `pFacultyID` INT)
     NO SQL
 BEGIN
-    SELECT  view_teachers.Teacher       AS 'ID',
+    SELECT  view_teachers.TeacherID       AS 'ID',
             view_teachers.LastName      AS 'Last',
             view_teachers.FirstName     AS 'First',
             view_teachers.SecondName    AS 'Second',
@@ -1169,7 +1126,7 @@ DROP PROCEDURE IF EXISTS GetTeachersByDepartment//
 CREATE PROCEDURE `GetTeachersByDepartment` (IN `pDepartmentID` INT)
     NO SQL
 BEGIN
-    SELECT  view_teachers.Teacher       AS 'ID',
+    SELECT  view_teachers.TeacherID       AS 'ID',
             view_teachers.LastName      AS 'Last',
             view_teachers.FirstName     AS 'First',
             view_teachers.SecondName    AS 'Second',
@@ -1225,8 +1182,7 @@ BEGIN
     # user role 2 - common teacher
     # add new account
     INSERT INTO `accounts` 
-        (   accounts.Login , accounts.Password , accounts.EMail, 
-            accounts.UserRoleID, accounts.ActivationCode )
+        (   Login , Password , EMail, UserRoleID, ActivationCode )
         VALUES  ( NULL, NULL, NULL, 2, pActivationCode);
     
 
@@ -1243,10 +1199,7 @@ BEGIN
     
     # add new teacher
     INSERT INTO `teachers` 
-        (   teachers.AccountID, 
-            teachers.LastName, teachers.FirstName, teachers.SecondName, 
-            teachers.JobPositionID, teachers.DepartmentID
-        )
+        (   AccountID, LastName, FirstName, SecondName, JobPositionID, DepartmentID)
         VALUES  (vAccountID, pLastName, pFirstName, pSecondName, pJobPositionID, pDepartmentID);
     RETURN 0;
 END //
@@ -1279,7 +1232,7 @@ BEGIN
                 (pDepartmentName = '' AND departments.Name IS NULL)
                 # or stub department record 
         LIMIT 1;
-    IF DepID <= 0 THEN
+    IF vDepID <= 0 THEN
         RETURN -1;
     END IF;
 
@@ -1305,8 +1258,7 @@ BEGIN
 
     # TODO: user roles
     INSERT INTO `accounts` 
-        (   accounts.Login , accounts.Password , accounts.EMail, 
-            accounts.UserRoleID, accounts.ActivationCode )
+        (   Login , Password , EMail, UserRoleID, ActivationCode )
         VALUES  ( NULL, NULL, NULL, 2, pActivationCode);
 
     SET vAccountID = -1;
@@ -1320,13 +1272,7 @@ BEGIN
     END IF; 
 
     INSERT INTO `teachers` 
-        (   teachers.AccountID, 
-            teachers.LastName, 
-            teachers.FirstName, 
-            teachers.SecondName, 
-            teachers.JobPositionID, 
-            teachers.DepartmentID
-        )
+        (   AccountID, LastName, FirstName, SecondName, JobPositionID, DepartmentID)
         VALUES  (vAccountID, pLastName, pFirstName, pSecondName, 12, vDepID);
     RETURN 0;
 END //
@@ -1392,7 +1338,7 @@ BEGIN
             CONCAT( view_teachers.LastName, 
                     view_teachers.FirstName, 
                     view_teachers.SecondName) 
-                LIKE CONCAT("%",pFullName,"%")
+                LIKE CONCAT('%', pFullName, '%')
         ORDER BY view_teachers.FacultyID ASC,
                 view_teachers.DepName ASC,
                 view_teachers.LastName ASC, view_teachers.FirstName ASC;
@@ -1448,38 +1394,6 @@ END //
 
 
 
--- TODO: deprecated
--- DROP PROCEDURE IF EXISTS GetStudentsByGradeID//
--- CREATE PROCEDURE `GetStudentsByGradeID` (   IN `GradeID` INT,
---                                             IN `FacultyID` INT )
---     NO SQL
--- BEGIN 
---     SELECT DISTINCT     students.ID                 AS 'StudentID',
---                         students.LastName           As 'StudentLast',
---                         students.FirstName          AS 'StudentFirst',
---                         students.SecondName         AS 'StudentSecond',
---                         students.AccountID          AS 'StudentAccID',
---                         study_groups.ID             AS 'GroupID',
---                         grades.ID                   AS 'GradeID',
---                         grades.Num                  AS 'GroupGrade',
---                         grades.Degree               AS 'GroupDegree',   
---                         study_groups.GroupNum       AS 'GroupNum',
---                         disciplines_students.Type   AS 'Type'
---                         # where it's?
---     FROM `students`
---     INNER JOIN `study_groups`       ON  students.StudyGroupID = study_groups.ID AND 
---                                         GradeID = study_groups.GradeID 
---     INNER JOIN `specializations`    ON  study_groups.SpecializationID = specializations.ID AND 
---                                         FacultyID = specializations.FacultyID 
---     INNER JOIN `grades`             ON  study_groups.GradeID = grades.ID
---     ORDER BY    students.LastName ASC, 
---                 students.FirstName ASC, 
---                 students.SecondName ASC;
--- END //
-
-
-
-
 DROP FUNCTION IF EXISTS CreateStudent//
 CREATE FUNCTION `CreateStudent`
     (   `pLastName` VARCHAR(30) CHARSET utf8, 
@@ -1522,8 +1436,7 @@ BEGIN
 
     # create new account
     INSERT INTO `accounts` 
-        (   accounts.Login , accounts.Password , accounts.EMail, 
-            accounts.UserRoleID, accounts.ActivationCode )
+        (   Login , Password , EMail, UserRoleID, ActivationCode )
         VALUES ( NULL, NULL, NULL, 1, pActivationCode);
         
     # get created account ID
@@ -1539,7 +1452,7 @@ BEGIN
     
     # create student
     INSERT INTO `students` 
-            (students.StudyGroupID, students.AccountID, students.LastName, students.FirstName, students.SecondName)
+            (StudyGroupID, AccountID, LastName, FirstName, SecondName)
     VALUES  (vGroupID, vAccountID, pLastName, pFirstName, pSecondName);
     RETURN 0;
 END //
@@ -1555,7 +1468,7 @@ CREATE FUNCTION `CreateStudentEx`
         `pDegree` VARCHAR(20) CHARSET utf8, 
         `pSpecName` VARCHAR(50) CHARSET utf8, 
         `pFacultyID` INT,
-        `pAtivationCode` VARCHAR(40) CHARSET utf8 
+        `pActivationCode` VARCHAR(40) CHARSET utf8
     )   RETURNS int(11)
     NO SQL
 BEGIN 
@@ -1577,7 +1490,7 @@ BEGIN
     IF vGradeID <= 0 THEN
         # insert new grade with pGradeNum and pDegree
         INSERT INTO `grades`
-            (grades.Num, grades.Degree)
+            (Num, Degree)
             VALUES (pGradeNum, pDegree);
 
         # find inserted grade
@@ -1609,7 +1522,7 @@ BEGIN
         IF vSpecID <= 0 THEN
             # create new specialization
             INSERT INTO `specializations`
-                (specializations.Name, specializations.Abbr, specializations.FacultyID )
+                (Name, Abbr, FacultyID )
                 VALUES  (pSpecName, NULL, pFacultyID);
 
             SET vSpecID = LAST_INSERT_ID();
@@ -1617,7 +1530,7 @@ BEGIN
 
         # create new group
         INSERT INTO `study_groups`
-            (study_groups.GradeID, study_groups.GroupNum, study_groups.SpecializationID)
+            (GradeID, GroupNum, SpecializationID)
             VALUES  (vGradeID, pGroupNum, vSpecID);
 
         SET vGroupID = LAST_INSERT_ID();
@@ -1636,8 +1549,7 @@ BEGIN
     # TODO: user roles
     # create account
     INSERT INTO `accounts` 
-        ( accounts.Login , accounts.Password , accounts.EMail, 
-            accounts.UserRoleID, accounts.ActivationCode )
+        ( Login , Password , EMail, UserRoleID, ActivationCode )
         VALUES  ( NULL, NULL, NULL, 1, pActivationCode);
 
     SET vAccountID = LAST_INSERT_ID();
@@ -1647,8 +1559,7 @@ BEGIN
     
     # create student
     INSERT INTO `students` 
-        (students.StudyGroupID, students.AccountID, 
-            students.LastName, students.FirstName, students.SecondName)
+        (StudyGroupID, AccountID, LastName, FirstName, SecondName)
         VALUES (vGroupID, vAccountID, pLastName, pFirstName, pSecondName);
     RETURN 0;
 END //
@@ -1683,7 +1594,7 @@ BEGIN
                 view_students.GradeID = pGradeID AND
                 (view_students.GroupID = pGroupID OR pGroupID = 0) AND
                 CONCAT(view_students.LastName, view_students.FirstName, view_students.SecondName) 
-                    LIKE CONCAT("%", pFullName,"%") AND
+                    LIKE CONCAT('%', pFullName, '%') AND
                 disciplines_groups.ID IS NULL AND
                 (disciplines_students.Type IS NULL OR disciplines_students.Type != 'attach')
         ORDER BY    view_students.GradeID ASC, 
@@ -1772,7 +1683,7 @@ BEGIN
             ON view_disciplines_results.DisciplineID = view_disciplines.DisciplineID
         WHERE view_disciplines.SemesterID = @CurrentSemesterID AND
             view_disciplines.FacultyID = pFacultyID
-        ORDER BY view_disciplines.DepName ASC;   
+        ORDER BY view_disciplines.SubjectName ASC;
 END //
 
 
@@ -1887,9 +1798,8 @@ END //
 
 
 DROP PROCEDURE IF EXISTS GetMapForStudentExam//
-CREATE PROCEDURE `GetMapForStudentExam` (   IN `StudentID` INT, 
-                                            IN `DisciplineID` INT
-                                        )
+CREATE PROCEDURE `GetMapForStudentExam`
+    (   IN `pStudentID` INT, IN `pDisciplineID` INT)
     NO SQL
 BEGIN  
     SELECT  view_rating.ModuleID, 
@@ -1938,8 +1848,8 @@ END //
 
 
 DROP PROCEDURE IF EXISTS GetMapForDisciplineExam//
-CREATE PROCEDURE `GetMapForDisciplineExam`      (   IN `TeacherID`      INT,
-                                                    IN `DisciplineID`   INT 
+CREATE PROCEDURE `GetMapForDisciplineExam`
+    (   IN `pTeacherID` INT, IN `pDisciplineID`   INT
                                                 )
     NO SQL
 BEGIN  
@@ -1955,7 +1865,7 @@ BEGIN
                 view_roadmap.SubmoduleType          AS 'SubmoduleControl'
         FROM `view_roadmap`
         INNER JOIN `view_disciplines` ON view_disciplines.DisciplineID = pDisciplineID
-        WHERE   view_roadmap.DisciplineID = DisciplineID AND
+        WHERE   view_roadmap.DisciplineID = pDisciplineID AND
                 (view_roadmap.ModuleType = 'exam' OR view_roadmap.ModuleType = 'extra')
         ORDER BY    view_roadmap.ModuleType ^ 1 ASC,
                     # 1, 3, 2, 4 ASC
@@ -2022,15 +1932,9 @@ BEGIN
     END IF;
 
     INSERT INTO `disciplines`   
-        (   disciplines.AuthorID, 
-            disciplines.GradeID, 
-            disciplines.SubjectID, 
-            disciplines.ExamType, 
-            disciplines.LectionCount, 
-            disciplines.PracticeCount,
-            disciplines.LabCount,
-            disciplines.SemesterID,
-            disciplines.FacultyID 
+        (   AuthorID, GradeID, SubjectID, ExamType,
+            LectionCount, PracticeCount,LabCount,
+            SemesterID,FacultyID
         )
         VALUES  (   pTeacherID, pGradeID, pSubjectID, pExamType, 
                     pLectionCount, pPracticeCount, pLabCount, 
@@ -2038,12 +1942,10 @@ BEGIN
     
     SET vDisciplineID = LAST_INSERT_ID();
     INSERT INTO `disciplines_teachers`
-        (   disciplines_teachers.DisciplineID,
-            disciplines_teachers.TeacherID  
-        )
+        (   DisciplineID,TeacherID  )
         VALUES (vDisciplineID, pTeacherID);
 
-    IF ExamType = 'exam' THEN
+    IF pExamType = 'exam' THEN
         SET vChecker = AddModuleExam(pTeacherID, vDisciplineID);
     END IF;
     SET vChecker = AddModuleExtra(pTeacherID, vDisciplineID);
@@ -2059,7 +1961,7 @@ CREATE FUNCTION `ChangeDisciplineSubject`   (   `TeacherID`     INT,
                                             )   RETURNS int(11)
     NO SQL
 BEGIN 
-    DECLARE checker INT;                     
+    DECLARE vChecker INT;                     
     
     IF  NOT InternalIsTeacherAuthor(TeacherID, DisciplineID) OR
         InternalIsMapLocked(DisciplineID)
@@ -2067,13 +1969,13 @@ BEGIN
         RETURN -1;
     END IF;
 
-    SET checker = -1;
+    SET vChecker = -1;
     SELECT subjects.ID 
-    INTO checker
+    INTO vChecker
     FROM `subjects`
     WHERE subjects.ID = SubjectID
     LIMIT 1;
-    IF checker <= 0 THEN 
+    IF vChecker <= 0 THEN 
         RETURN -1;
     END IF;
 
@@ -2087,154 +1989,141 @@ END //
 
 
 DROP FUNCTION IF EXISTS ChangeDisciplineGrade//
-CREATE FUNCTION `ChangeDisciplineGrade` (   `TeacherID`     INT,
-                                            `DisciplineID`  INT,
-                                            `GradeID`           INT 
-                                        )   RETURNS int(11)
+CREATE FUNCTION `ChangeDisciplineGrade`
+    (   `pTeacherID` INT, `pDisciplineID` INT, `pGradeID` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN 
-    DECLARE checker INT;                     
-    
-    SET checker = -1;
+    DECLARE vChecker INT DEFAULT -1;
+
     SELECT grades.ID
-    INTO checker
-    FROM `grades`
-    WHERE grades.ID = GradeID
-    LIMIT 1;
-    IF  checker <= 0 OR 
-        InternalIsMapLocked(DisciplineID) OR 
-        NOT InternalIsTeacherAuthor(TeacherID, DisciplineID) 
+        INTO vChecker
+        FROM `grades`
+        WHERE grades.ID = pGradeID
+        LIMIT 1;
+    IF  vChecker <= 0 OR
+        InternalIsMapLocked(pDisciplineID) OR
+        NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
     SELECT disciplines.GradeID 
-    INTO checker
-    FROM `disciplines`
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        INTO vChecker
+        FROM `disciplines`
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
 
-    IF checker != GradeID THEN
+    IF vChecker != pGradeID THEN
         DELETE FROM `disciplines_groups`
-        WHERE disciplines_groups.DisciplineID = DisciplineID;
+        WHERE disciplines_groups.DisciplineID = pDisciplineID;
 
         DELETE FROM `disciplines_students`
-        WHERE disciplines_students.DisciplineID = DisciplineID;
+        WHERE disciplines_students.DisciplineID = pDisciplineID;
     END IF;
 
-
     UPDATE `disciplines`
-    SET disciplines.GradeID = GradeID
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        SET disciplines.GradeID = GradeID
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
     RETURN 0;
 END //
 
 
 DROP FUNCTION IF EXISTS ChangeDisciplineControl//
-CREATE FUNCTION `ChangeDisciplineControl`   (   `TeacherID`     INT,
-                                                `DisciplineID`  INT,
-                                                `ExamType`      VARCHAR(30) charset utf8
-                                            )   RETURNS int(11)
+CREATE FUNCTION `ChangeDisciplineControl`
+    (   `pTeacherID` INT, `pDisciplineID` INT,
+        `pExamType` VARCHAR(30) charset utf8
+    )   RETURNS int(11)
     NO SQL
 BEGIN 
-    DECLARE checker, extraMax, vExtraID INT;                     
+    DECLARE vChecker, vExtraMax, vExtraID INT DEFAULT -1;
     
-    IF  InternalIsMapLocked(DisciplineID) OR
-        NOT InternalIsTeacherAuthor(TeacherID,DisciplineID)
+    IF  InternalIsMapLocked(pDisciplineID) OR
+        NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET checker = -1;
     SELECT disciplines.ExamType 
-    INTO checker
-    FROM `disciplines`
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        INTO vChecker
+        FROM `disciplines`
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
 
     # get Extra module id
-    SET vExtraID = -1;
     SELECT modules.ID
-    INTO vExtraID
-    FROM `modules`
-    WHERE   modules.Type = 4 AND 
-            modules.DisciplineID = DisciplineID
-    LIMIT 1;
+        INTO vExtraID
+        FROM `modules`
+        WHERE   modules.Type = 'extra' AND
+                modules.DisciplineID = pDisciplineID
+        LIMIT 1;
     IF vExtraID <= 0 THEN
             RETURN -1;
     END IF;
 
 
-    IF  (checker != ExamType)       
+    IF  (vChecker != pExamType)
     THEN
-        IF ExamType = 'exam' THEN
-
-            SET extraMax = 7;
-
-            SET checker = GetDisciplineMaxRate(DisciplineID);
-            IF checker >= 61 THEN
+        IF pExamType = 'exam' THEN
+            SET vExtraMax = 7;
+            SET vChecker = GetDisciplineMaxRate(pDisciplineID);
+            IF vChecker >= 61 THEN
                 RETURN 1;
             END IF;
-            SET checker = AddModuleExam(TeacherID, DisciplineID);
+            SET vChecker = AddModuleExam(pTeacherID, pDisciplineID);
             
             # delete extra module from 
             DELETE FROM `submodules`
-            WHERE   submodules.OrderNum > 1 AND
-                    submodules.ModuleID = vExtraID;
-            
+                WHERE   submodules.OrderNum > 1 AND
+                        submodules.ModuleID = vExtraID;
         ELSE
-            SET extraMax = 29;
-            
-            SET checker = DeleteModuleExam(TeacherID, DisciplineID);
-            SET checker = AddSubmodule(TeacherID, vExtraID, extraMax, '', NULL, 'LandmarkControl'); 
-            
+            SET vExtraMax = 29;
+            SET vChecker = DeleteModuleExam(pTeacherID, pDisciplineID);
+            SET vChecker = AddSubmodule(pTeacherID, vExtraID, vExtraMax, '', NULL, 'LandmarkControl');
         END IF;
 
         UPDATE `disciplines`
-        SET     disciplines.ExamType = ExamType
-        WHERE   DisciplineID = disciplines.ID;
+            SET     disciplines.ExamType = ExamType
+            WHERE   disciplines.ID = pDisciplineID;
 
         UPDATE `submodules`
-        SET submodules.MaxRate = extraMax
+        SET submodules.MaxRate = vExtraMax
         WHERE submodules.ModuleID = vExtraID;
     END IF;
     RETURN 0;
 END //
 
 DROP FUNCTION IF EXISTS ChangeDisciplineHours//
-CREATE FUNCTION `ChangeDisciplineHours` (   `TeacherID`     INT,
-                                            `DisciplineID`  INT,
-                                            `Hours`         INT,
-                                            `Type`          INT
-                                        # Type: 0 - Practice Hours, 1 - Lection Hours, 2 - Lab Hours
-                                    )   RETURNS int(11)
+CREATE FUNCTION `ChangeDisciplineHours`
+    (   `pTeacherID` INT, `pDisciplineID` INT,
+        `pHours` INT, `pType` INT
+        # Type: 0 - Practice Hours, 1 - Lecture Hours, 2 - Lab Hours
+    )   RETURNS int(11)
     NO SQL
 BEGIN                
-    IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) 
+    IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID)
     THEN 
         RETURN -1;
     END IF;
 
-    # TODO: switch
-    IF Type = 0 THEN
+    CASE pType
+    WHEN 0 THEN
         UPDATE `disciplines`
-        SET     disciplines.PracticeCount = Hours
-        WHERE disciplines.ID = DisciplineID
-        LIMIT 1;
-    END IF;
-    IF Type = 1 THEN
+            SET     disciplines.PracticeCount = pHours
+            WHERE disciplines.ID = pDisciplineID
+            LIMIT 1;
+    WHEN 1 THEN
         UPDATE `disciplines`
-        SET     disciplines.LectionCount = Hours
-        WHERE disciplines.ID = DisciplineID
-        LIMIT 1;
-    END IF;
-    IF Type = 2 THEN
+            SET     disciplines.LectionCount = pHours
+            WHERE disciplines.ID = pDisciplineID
+            LIMIT 1;
+    WHEN 2 THEN
         UPDATE `disciplines`
-        SET     disciplines.LabCount = Hours
-        WHERE disciplines.ID = DisciplineID
-        LIMIT 1;
-    END IF;
+            SET     disciplines.LabCount = pHours
+            WHERE disciplines.ID = pDisciplineID
+            LIMIT 1;
+    END CASE;
 
     RETURN 0;
 END //
@@ -2242,48 +2131,44 @@ END //
 
 
 DROP FUNCTION IF EXISTS BindGroup//
-CREATE FUNCTION `BindGroup` (   `TeacherID`     INT,
-                                `DisciplineID`  INt,
-                                `StudyGroupID`  INT
-                            )   RETURNS int(11)
+CREATE FUNCTION `BindGroup`
+    (   `pTeacherID` INT, `pDisciplineID` INT, `pStudyGroupID` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN 
-    DECLARE checker INT;                     
+    DECLARE vChecker INT DEFAULT -1;
     
 # 1. check if AccessedTeacher is author
-    IF  NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
-        InternalIsMapLocked(disciplineID)
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
+        InternalIsMapLocked(pDisciplineID)
     THEN 
         RETURN -1;
     END IF;
 
 # 2. check if study group is bound to discipline
-    SET checker = -1;
     SELECT disciplines_groups.ID
-    INTO checker
-    FROM `disciplines_groups`
-    WHERE   disciplines_groups.StudyGroupID = StudyGroupID AND
-            disciplines_groups.DisciplineID = DisciplineID
-    LIMIT 1;
-    IF checker > 0 THEN
+        INTO vChecker
+        FROM `disciplines_groups`
+        WHERE   disciplines_groups.StudyGroupID = pStudyGroupID AND
+                disciplines_groups.DisciplineID = pDisciplineID
+        LIMIT 1;
+    IF vChecker > 0 THEN
         RETURN 1;
     END IF;
 
 # 3. delete students of this group which were bound to discipline before
     DELETE FROM `disciplines_students`
-    WHERE   DisciplineID = disciplines_students.DisciplineID AND
-            disciplines_students.StudentID IN 
-        (   SELECT students.ID
-            FROM `students`
-            WHERE students.StudyGroupID = StudyGroupID
-        );
+        WHERE   disciplines_students.DisciplineID = pDisciplineID AND
+                disciplines_students.StudentID IN
+            (   SELECT students.ID
+                FROM `students`
+                WHERE students.StudyGroupID = pStudyGroupID
+            );
         
 # 4. bind whole group
     INSERT INTO `disciplines_groups`    
-            (   disciplines_groups.DisciplineID,
-                disciplines_groups.StudyGroupID
-            )
-    VALUES  (   DisciplineID, StudyGroupID );
+        (DisciplineID, StudyGroupID)
+        VALUES  (DisciplineID, StudyGroupID );
     RETURN 0;
 
 END //
@@ -2291,61 +2176,54 @@ END //
 
 
 DROP FUNCTION IF EXISTS BindStudent//
-CREATE FUNCTION `BindStudent`   (   `TeacherID`     INT,
-                                    `DisciplineID`  INT,
-                                    `StudentID`     INT
-                                )   RETURNS int(11)
+CREATE FUNCTION `BindStudent`
+    (   `pTeacherID` INT, `pDisciplineID` INT, `pStudentID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN 
-    DECLARE checker, SG, temp INT;                       
+    DECLARE vChecker, vGroupID, vTemp INT DEFAULT -1;
 
 # 1. check if AccessedTeacher is author
-    IF NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) 
+    IF NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID)
     THEN 
         RETURN -1;
     END IF;
     
-# 2. check if student's group is bound yet 
-    SET SG = -1;
+# 2. check if student's group is bound yet
     SELECT students.StudyGroupID
-    INTO SG
-    FROM `students`
-    WHERE students.ID = StudentID
-    LIMIT 1;
+        INTO vGroupID
+        FROM `students`
+        WHERE students.ID = pStudentID
+        LIMIT 1;
 
-    SET checker = -1;
     SELECT disciplines_groups.ID
-    INTO checker
-    FROM `disciplines_groups`
-    WHERE   DisciplineID = disciplines_groups.DisciplineID AND
-            SG = disciplines_groups.StudyGroupID 
-    LIMIT 1;
-    IF checker > 0 THEN
+        INTO vChecker
+        FROM `disciplines_groups`
+        WHERE   disciplines_groups.DisciplineID = pDisciplineID AND
+                disciplines_groups.StudyGroupID = vGroupID
+        LIMIT 1;
+    IF vChecker > 0 THEN
         DELETE FROM `disciplines_students`
-        WHERE   DisciplineID = disciplines_students.DisciplineID AND
-                StudentID = disciplines_students.StudentID
+        WHERE   disciplines_students.DisciplineID = pDisciplineID AND
+                disciplines_students.StudentID = pStudentID
         LIMIT 1;
         RETURN 0;
     END IF;
 
 # 3. check if student is bound
-    SET checker = -1;
     SELECT disciplines_students.ID
-    INTO checker
-    FROM `disciplines_students`
-    WHERE   DisciplineID = disciplines_students.DisciplineID AND
-            StudentID = disciplines_students.StudentID
-    LIMIT 1;
-    IF checker > 0 THEN 
+        INTO vChecker
+        FROM `disciplines_students`
+        WHERE   disciplines_students.DisciplineID = pDisciplineID AND
+                disciplines_students.StudentID = pStudentID
+        LIMIT 1;
+    IF vChecker > 0 THEN
         RETURN 1;
     END IF;
     
 # 4. bind student
     INSERT INTO `disciplines_students`  
-            (   disciplines_students.DisciplineID,
-                disciplines_students.StudentID,
-                disciplines_students.Type
-            )
+            (   DisciplineID, StudentID, Type)
     VALUES  (   DisciplineID, StudentID, 'attach');
     RETURN 0;
     
@@ -2354,29 +2232,28 @@ END //
 
 
 DROP FUNCTION IF EXISTS UnbindGroup//
-CREATE FUNCTION `UnbindGroup`   (   `TeacherID`     INT,
-                                    `DisciplineID`  INT,
-                                    `StudyGroupID`  INT
-                                )   RETURNS int(11)
+CREATE FUNCTION `UnbindGroup`
+    (   `pTeacherID` INT, `pDisciplineID` INT, `pGroupID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN                
-    IF  NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
-        InternalIsMapLocked(disciplineID) 
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
+        InternalIsMapLocked(pDisciplineID)
     THEN 
         RETURN -1;
     END IF;
 
     DELETE FROM `disciplines_groups`
-    WHERE   DisciplineID = disciplines_groups.DisciplineID AND
-            StudyGroupID = disciplines_groups.StudyGroupID
+    WHERE   disciplines_groups.DisciplineID = pDisciplineID AND
+            disciplines_groups.StudyGroupID = pGroupID
     LIMIT 1;
 
     DELETE FROM `disciplines_students`
-    WHERE   DisciplineID = disciplines_students.DisciplineID AND
+    WHERE   disciplines_students.DisciplineID = pDisciplineID AND
             disciplines_students.StudentID IN
         (   SELECT students.ID
             FROM `students`
-            WHERE students.StudyGroupID = StudyGroupID
+            WHERE students.StudyGroupID = pGroupID
         );
     RETURN 0;
 END //
@@ -2384,47 +2261,41 @@ END //
 
 
 DROP FUNCTION IF EXISTS UnbindStudent//
-CREATE FUNCTION `UnbindStudent` (   `TeacherID`     INT,
-                                    `DisciplineID`  INt,
-                                    `StudentID`     INT
-                                )   RETURNS int(11)
+CREATE FUNCTION `UnbindStudent`
+    (   `pTeacherID` INT, `pDisciplineID` INT, `pStudentID` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN 
-    DECLARE checker, SG INT;                     
-    
-    SET SG = -1;
+    DECLARE vChecker, vGroupID INT DEFAULT -1;
+
     SELECT students.StudyGroupID
-    INTO SG
-    FROM `students`
-    WHERE students.ID = StudentID
-    LIMIT 1;
-    IF  SG <= 0 OR 
-        NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) 
+        INTO vGroupID
+        FROM `students`
+        WHERE students.ID = pStudentID
+        LIMIT 1;
+    IF  vGroupID <= 0 OR 
+        NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID)
     THEN 
         RETURN -1;
     END IF;
 
-    SET checker = -1;
     SELECT disciplines_groups.ID
-    INTO checker
-    FROM `disciplines_groups`
-    WHERE   DisciplineID = disciplines_groups.DisciplineID AND
-            SG = disciplines_groups.StudyGroupID
-    LIMIT 1;
+        INTO vChecker
+        FROM `disciplines_groups`
+        WHERE   disciplines_groups.DisciplineID = pDisciplineID AND
+                disciplines_groups.StudyGroupID = vGroupID
+        LIMIT 1;
 
 
-    IF checker > 0 THEN
+    IF vChecker > 0 THEN
         INSERT INTO `disciplines_students`  
-                (   disciplines_students.DisciplineID,
-                    disciplines_students.StudentID,
-                    disciplines_students.Type
-                )
-        VALUES  (   DisciplineID, StudentID, 'detach');
+            (DisciplineID, StudentID, Type)
+            VALUES  (   DisciplineID, StudentID, 'detach');
 
     ELSE 
         DELETE FROM `disciplines_students`
-        WHERE   DisciplineID = disciplines_students.DisciplineID AND
-                StudentID = disciplines_students.StudentID
+        WHERE   disciplines_students.DisciplineID = pDisciplineID AND
+                disciplines_students.StudentID = pStudentID
         LIMIT 1;
     END IF;
     RETURN 0;
@@ -2439,16 +2310,16 @@ CREATE FUNCTION `BindTeacher`(  `TeacherID` INT,
                              )  RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker boolean; 
+    DECLARE vChecker boolean; 
 
 # 1. check if AccessedTeacher is author
-    SET checker = FALSE;
+    SET vChecker = FALSE;
     SELECT (TeacherID = disciplines.AuthorID)
-    INTO checker
+    INTO vChecker
     FROM `disciplines`
     WHERE   DisciplineID = disciplines.ID
     LIMIT 1;
-    IF NOT checker THEN
+    IF NOT vChecker THEN
         RETURN -1;
     END IF;
 
@@ -2460,9 +2331,7 @@ BEGIN
 
 # 3. insert BindingTeacher in access list
     INSERT INTO `disciplines_teachers`
-        (   disciplines_teachers.DisciplineID,
-            disciplines_teachers.TeacherID  
-        )
+        (   DisciplineID, TeacherID)
     VALUES  ( DisciplineID, BindingTeacherID );
     RETURN 0;
 END //
@@ -2470,109 +2339,99 @@ END //
 
 
 DROP FUNCTION IF EXISTS UnbindTeacher//
-CREATE FUNCTION `UnbindTeacher` (   `AuthorID` INT,
-                                    `BindingTeacher` INT,
-                                    `DisciplineID` INT      
-                                )   RETURNS int(11)
+CREATE FUNCTION `UnbindTeacher`
+    (   `pAuthorID` INT, `pBindingTeacher` INT, `pDisciplineID` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker boolean; 
+    DECLARE vChecker boolean DEFAULT FALSE;
 
-    IF AuthorID = BindingTeacher THEN
+    IF pAuthorID = pBindingTeacher THEN
         RETURN -1;
     END IF;
 
-    SET checker = FALSE;
-    SELECT (AuthorID = disciplines.AuthorID)
-    INTO checker
-    FROM `disciplines`
-    WHERE   DisciplineID = disciplines.ID
-    LIMIT 1;
-    IF NOT checker THEN
+    SELECT (disciplines.AuthorID = pAuthorID)
+        INTO vChecker
+        FROM `disciplines`
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
+    IF NOT vChecker THEN
         RETURN -1;
     END IF;
 
     DELETE FROM `disciplines_teachers`
-    WHERE   DisciplineID = disciplines_teachers.DisciplineID AND
-            BindingTeacher = disciplines_teachers.TeacherID;
+        WHERE   disciplines_teachers.DisciplineID = pDisciplineID AND
+                disciplines_teachers.TeacherID = pBindingTeacher;
     RETURN 0;
-    
 END //
 
 
 
 DROP FUNCTION IF EXISTS DelegateDiscipline//
-CREATE FUNCTION `DelegateDiscipline`    (   `AuthorID` INT,
-                                            `NewAuthorID` INT,
-                                            `DisciplineID` INT      
-                                        )   RETURNS int(11)
+CREATE FUNCTION `DelegateDiscipline`
+    (   `pAuthorID` INT, `pNewAuthorID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker boolean; 
+    DECLARE vChecker boolean DEFAULT FALSE;
 
-    IF  AuthorID = NewAuthorID OR
-        NOT InternalIsTeacherAuthor(AuthorID, DisciplineID)
+    IF  pAuthorID = pNewAuthorID OR
+        NOT InternalIsTeacherAuthor(pAuthorID, pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET checker = FALSE;
     SELECT (AuthorID = disciplines.AuthorID)
-    INTO checker
-    FROM `disciplines`
-    INNER JOIN `disciplines_teachers`   ON  DisciplineID = disciplines_teachers.DisciplineID AND
-                                            NewAuthorID = disciplines_teachers.TeacherID
+        INTO vChecker
+        FROM `disciplines`
+        INNER JOIN `disciplines_teachers`   ON  disciplines_teachers.DisciplineID = pDisciplineID AND
+                                                disciplines_teachers.TeacherID = pNewAuthorID
     WHERE   DisciplineID = disciplines.ID AND
-            AuthorID = disciplines.AuthorID
-    LIMIT 1;
-    IF NOT checker THEN
+                disciplines.AuthorID = pAuthorID
+        LIMIT 1;
+    IF NOT vChecker THEN
         RETURN -1;
     END IF;
 
     UPDATE `disciplines`
-    SET disciplines.AuthorID = NewAuthorID
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        SET disciplines.AuthorID = pNewAuthorID
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
     RETURN 0;
 END //
 
 
 
 DROP FUNCTION IF EXISTS ClearDiscipline//
-CREATE FUNCTION `ClearDiscipline`   (   `AuthorID` INT,
-                                        `DisciplineID` INT      
-                                    )   RETURNS int(11)
+CREATE FUNCTION `ClearDiscipline`
+    (   `pAuthorID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
-BEGIN  
-    DECLARE checker boolean; 
-    DECLARE vtemp INT;
-
-    IF  NOT InternalIsTeacherAuthor(AuthorID, DisciplineID) THEN
+BEGIN
+    IF  NOT InternalIsTeacherAuthor(pAuthorID, pDisciplineID) THEN
         RETURN -1;
     END IF;
 
     DELETE FROM `logs_rating`
-    WHERE logs_rating.SubModuleID IN 
-        (
-            SELECT submodules.ID
-            FROM `submodules`
-            INNER JOIN `modules` ON submodules.ModuleID = modules.ID
-            WHERE modules.DisciplineID = DisciplineID
-        );
+        WHERE logs_rating.SubModuleID IN
+            (SELECT submodules.ID
+                FROM `submodules`
+                INNER JOIN `modules` ON submodules.ModuleID = modules.ID
+                WHERE modules.DisciplineID = pDisciplineID
+            );
 
     DELETE FROM `rating_table`
-    WHERE rating_table.SubModuleID IN 
-        (
-            SELECT submodules.ID
-            FROM `submodules`
-            INNER JOIN `modules` ON submodules.ModuleID = modules.ID
-            WHERE modules.DisciplineID = DisciplineID
-        );
+        WHERE rating_table.SubModuleID IN
+            (SELECT submodules.ID
+                FROM `submodules`
+                INNER JOIN `modules` ON submodules.ModuleID = modules.ID
+                WHERE modules.DisciplineID = pDisciplineID
+            );
 
     UPDATE `disciplines`
-    SET disciplines.isLocked = 0
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        SET disciplines.isLocked = 0
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
 
     RETURN 0;   
 END //
@@ -2580,73 +2439,71 @@ END //
 
 
 DROP FUNCTION IF EXISTS DeleteDiscipline//
-CREATE FUNCTION `DeleteDiscipline`  (   `AuthorID` INT,
-                                        `DisciplineID` INT      
-                                    )   RETURNS int(11)
+CREATE FUNCTION `DeleteDiscipline`
+    (   `pAuthorID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE vtemp INT;
-    IF  NOT InternalIsTeacherAuthor(AuthorID, DisciplineID) THEN
+    DECLARE vTemp INT;
+    IF  NOT InternalIsTeacherAuthor(pAuthorID, pDisciplineID) THEN
         RETURN -1;
     END IF;
 
     SELECT disciplines.isLocked
-    INTO vtemp
-    FROM `disciplines`
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        INTO vTemp
+        FROM `disciplines`
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
 
-    IF vtemp != 0 THEN
+    IF vTemp != 0 THEN
         RETURN -1;
     END IF;
 
-    SET vtemp = CountRatings(AuthorID, DisciplineID);
-    IF vtemp > 0 THEN
+    SET vTemp = CountRatings(pAuthorID, pDisciplineID);
+    IF vTemp > 0 THEN
         RETURN -1;
     END IF;
 
 
     DELETE FROM `logs_rating`
-    WHERE logs_rating.SubModuleID IN 
-        (
-            SELECT submodules.ID
-            FROM `submodules`
-            INNER JOIN `modules` ON submodules.ModuleID = modules.ID
-            WHERE modules.DisciplineID = DisciplineID
-        );
+        WHERE logs_rating.SubModuleID IN
+            (
+                SELECT submodules.ID
+                FROM `submodules`
+                INNER JOIN `modules` ON submodules.ModuleID = modules.ID
+                WHERE modules.DisciplineID = pDisciplineID
+            );
 
     DELETE FROM `rating_table`
-    WHERE rating_table.SubModuleID IN 
-        (
-            SELECT submodules.ID
-            FROM `submodules`
-            INNER JOIN `modules` ON submodules.ModuleID = modules.ID
-            WHERE modules.DisciplineID = DisciplineID
-        );
+        WHERE rating_table.SubModuleID IN
+            (SELECT submodules.ID
+                FROM `submodules`
+                INNER JOIN `modules` ON submodules.ModuleID = modules.ID
+                WHERE modules.DisciplineID = pDisciplineID
+            );
     
     DELETE FROM `submodules`
-    WHERE submodules.ModuleID IN 
-        (
-            SELECT modules.ID
-            FROM `modules`
-            WHERE modules.DisciplineID = DisciplineID
-        );
+        WHERE submodules.ModuleID IN
+            (SELECT modules.ID
+                FROM `modules`
+                WHERE modules.DisciplineID = pDisciplineID
+            );
 
     DELETE FROM `modules`
-    WHERE modules.DisciplineID = DisciplineID;
+        WHERE modules.DisciplineID = pDisciplineID;
 
     DELETE FROM `disciplines_teachers`
-    WHERE disciplines_teachers.DisciplineID = DisciplineID;
+        WHERE disciplines_teachers.DisciplineID = pDisciplineID;
 
     DELETE FROM `disciplines_students`
-    WHERE disciplines_students.DisciplineID = DisciplineID;
+        WHERE disciplines_students.DisciplineID = pDisciplineID;
 
     DELETE FROM `disciplines_groups`
-    WHERE disciplines_groups.DisciplineID = DisciplineID;
+        WHERE disciplines_groups.DisciplineID = pDisciplineID;
 
     DELETE FROM `disciplines`
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
 
     RETURN 0;   
 END //
@@ -2654,64 +2511,59 @@ END //
 
 
 DROP FUNCTION IF EXISTS CountRatings//
-CREATE FUNCTION `CountRatings`  (   `TeacherID` INT,
-                                    `DisciplineID` INT      
-                                )   RETURNS int(11)
+CREATE FUNCTION `CountRatings`
+    (   `pTeacherID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE res boolean; 
+    DECLARE vRes INT DEFAULT 0;
 
-    IF  NOT InternalIsTeacherBinded(TeacherID, DisciplineID) THEN
+    IF  NOT InternalIsTeacherBinded(pTeacherID, pDisciplineID) THEN
         RETURN -1;
     END IF;
 
-    SET res = 0;
     SELECT COUNT(rating_table.StudentID)
-    INTO res
-    FROM `rating_table`
-    INNER JOIN `submodules` ON rating_table.SubModuleID = submodules.ID
-    INNER JOIN `modules` ON submodules.ModuleID = modules.ID
-    WHERE modules.DisciplineID = DisciplineID
-    LIMIT 1;
+        INTO vRes
+        FROM `rating_table`
+        INNER JOIN `submodules` ON rating_table.SubModuleID = submodules.ID
+        INNER JOIN `modules` ON submodules.ModuleID = modules.ID
+        WHERE modules.DisciplineID = pDisciplineID
+        LIMIT 1;
 
-    RETURN res; 
+    RETURN vRes;
 END //
 
 
 
 DROP FUNCTION IF EXISTS RestrictAfterMilestone//
-CREATE FUNCTION `RestrictAfterMilestone`    (   `TeacherID`     INT,
-                                                `DisciplineID`  INT
-                                            )   RETURNS int(11)
+CREATE FUNCTION `RestrictAfterMilestone`
+    (   `pTeacherID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN                
 
     UPDATE `disciplines`
-    SET disciplines.MilestoneDate = CURDATE(),
-        disciplines.isMilestone = 1
-    WHERE disciplines.ID = DisciplineID
-    LIMIT 1;
+        SET disciplines.MilestoneDate = CURDATE(),
+            disciplines.isMilestone = 1
+        WHERE disciplines.ID = pDisciplineID
+        LIMIT 1;
 
     RETURN 0;
 END //
 
 
 DROP FUNCTION IF EXISTS RestrictAfterMilestoneForCredits//
-CREATE FUNCTION `RestrictAfterMilestoneForCredits`  (   `TeacherID`     INT,
-                                                        `FacultyID`     INT
+CREATE FUNCTION `RestrictAfterMilestoneForCredits`  (   `pTeacherID`     INT,
+                                                        `pFacultyID`     INT
                                                     )   RETURNS int(11)
     NO SQL
-BEGIN   
-    DECLARE semID INT;
-
-    SET semID = @CurrentSemesterID;
-    
+BEGIN
     UPDATE `disciplines`
-    SET disciplines.MilestoneDate = CURDATE(),
-        disciplines.isMilestone = 1
-    WHERE   disciplines.SemesterID = semID AND
-            disciplines.ExamType = 'credit' AND
-            disciplines.FacultyID= FacultyID;
+        SET disciplines.MilestoneDate = CURDATE(),
+            disciplines.isMilestone = 1
+        WHERE   disciplines.SemesterID = @CurrentSemesterID AND
+                disciplines.ExamType = 'credit' AND
+                disciplines.FacultyID= pFacultyID;
 
     RETURN 0;
 END //
@@ -2723,74 +2575,72 @@ END //
 
 
 DROP FUNCTION IF EXISTS ChangeModuleName//
-CREATE FUNCTION `ChangeModuleName`  (   `TeacherID` INT, 
-                                        `ModuleID` INT, 
-                                        `Name` VARCHAR(200) charset utf8
-                                    )   RETURNS int(11)
+CREATE FUNCTION `ChangeModuleName`
+    (   `pTeacherID` INT, `pModuleID` INT,
+        `pName` VARCHAR(200) charset utf8
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE DisciplineID INT;                    
-    
-    SET DisciplineID = -1;
+    DECLARE vDisciplineID INT DEFAULT -1;
+
     SELECT disciplines.ID 
-    INTO DisciplineID 
-    FROM `modules`
-    INNER JOIN `disciplines`    ON  disciplines.ID = modules.DisciplineID AND
-                                    TeacherID = disciplines.AuthorID 
-    WHERE   ModuleID = modules.ID AND
-            modules.Type = 1
-    LIMIT 1;
-    IF  DisciplineID <= 0 OR
-        InternalIsMapLocked(DisciplineID) THEN
+        INTO vDisciplineID
+        FROM `modules`
+        INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID AND
+                                    disciplines.AuthorID = pTeacherID
+        WHERE   modules.ID = pModuleID AND
+                modules.Type = 'regular'
+        LIMIT 1;
+    IF vDisciplineID <= 0 OR
+        InternalIsMapLocked(vDisciplineID)
+    THEN
         RETURN -1;
     END IF;
 
     UPDATE `modules` 
-    SET modules.Name = Name
-    WHERE modules.ID = ModuleID 
-    LIMIT 1;
+        SET modules.Name = pName
+        WHERE modules.ID = pModuleID
+        LIMIT 1;
     RETURN 0;
 END //
 
 
 
 DROP FUNCTION IF EXISTS AddModule//
-CREATE FUNCTION `AddModule` (   `TeacherID`     INT, 
-                                `DisciplineID`  INT, 
-                                `Name`          VARCHAR(200) charset utf8
-                            )   RETURNS int(11)
+CREATE FUNCTION `AddModule`
+    (   `pTeacherID` INT, `pDisciplineID` INT,
+        `pName` VARCHAR(200) charset utf8
+    ) RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker INT;                     
+    DECLARE vChecker INT DEFAULT 0;
     
-    IF  NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
-        InternalIsMapLocked(DisciplineID) 
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
+        InternalIsMapLocked(pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET checker = 0;
     SELECT MAX(modules.OrderNum)
-    INTO checker
-    FROM `modules`
-    WHERE   DisciplineID = modules.DisciplineID AND
-            modules.Type = 1
-    LIMIT 1;
-    IF checker is NULL THEN
-        SET checker = 0;
+        INTO vChecker
+        FROM `modules`
+        WHERE   modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'regular'
+        LIMIT 1;
+    IF vChecker is NULL THEN
+        SET vChecker = 0;
     END IF;
-    SET checker = checker + 1;
-
+    SET vChecker = vChecker + 1;
 
     INSERT INTO `modules`   
-            (   modules.Name, modules.OrderNum, modules.DisciplineID )
-    VALUES  (   Name , checker , DisciplineID );
+        (Name, OrderNum, DisciplineID )
+        VALUES (Name , vChecker , DisciplineID );
     
 
-    RETURN  (   SELECT  modules.ID
+    RETURN  (SELECT  modules.ID
                 FROM    `modules`
-                WHERE   DisciplineID = modules.DisciplineID AND 
-                        checker = modules.OrderNum
+                WHERE   modules.DisciplineID = pDisciplineID AND
+                        vChecker = modules.OrderNum
                 LIMIT 1 
             );
 END //
@@ -2798,88 +2648,82 @@ END //
 
 
 DROP FUNCTION IF EXISTS AddModuleExam//
-CREATE FUNCTION `AddModuleExam` (   `TeacherID`     INT, 
-                                    `DisciplineID`  INT
-                                )   RETURNS int(11)
+CREATE FUNCTION `AddModuleExam`
+    (   `pTeacherID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, vModule INT;                       
-    IF  NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
-        InternalIsMapLocked(DisciplineID) 
+    DECLARE vChecker, vModule INT DEFAULT -1;
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
+        InternalIsMapLocked(pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET checker = -1;
     SELECT modules.ID 
-    INTO checker
-    FROM `modules`
-    WHERE   DisciplineID = modules.DisciplineID AND 
-            modules.Type = 2;
-    IF checker > 0 THEN
+        INTO vChecker
+        FROM `modules`
+        WHERE   modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'exam';
+    IF vChecker > 0 THEN
         RETURN -2;
     END IF;
 
-
     INSERT INTO `modules`   
-            (   modules.Name, modules.OrderNum, modules.DisciplineID, modules.Type )
+            (   Name, OrderNum, DisciplineID, Type )
     VALUES  (   'Экзамен' , 3141692 , DisciplineID, 2 );
 
-    SET vModule = -1;
     SELECT  modules.ID
-    INTO vModule
-    FROM `modules`
-    WHERE   DisciplineID = modules.DisciplineID AND 
-            modules.Type = 2
-    LIMIT 1;
+        INTO vModule
+        FROM `modules`
+        WHERE   modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'exam'
+        LIMIT 1;
     IF vModule <= 0 THEN
         RETURN -1; 
     END IF;
 
-    SET checker = AddSubmodule(TeacherID, vModule, 40, '', NULL, 'LandmarkControl');
-    SET checker = AddSubmodule(TeacherID, vModule, 40, '', NULL, 'LandmarkControl');
-    SET checker = AddSubmodule(TeacherID, vModule, 40, '', NULL, 'LandmarkControl');
+    SET vChecker = AddSubmodule(pTeacherID, vModule, 40, '', NULL, 'LandmarkControl');
+    SET vChecker = AddSubmodule(pTeacherID, vModule, 40, '', NULL, 'LandmarkControl');
+    SET vChecker = AddSubmodule(pTeacherID, vModule, 40, '', NULL, 'LandmarkControl');
     RETURN vModule;
 END //
 
 
 DROP FUNCTION IF EXISTS AddModuleExtra//
-CREATE FUNCTION `AddModuleExtra`    (   `TeacherID`     INT, 
-                                        `DisciplineID`  INT
-                                    )   RETURNS int(11)
+CREATE FUNCTION `AddModuleExtra`
+    (   `pTeacherID` INT, `pDisciplineID` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, vModule, vType, vGap INT;                          
-    IF  NOT InternalIsTeacherAuthor(TeacherID,DisciplineID)
+    DECLARE vChecker, vModule, vType, vGap INT DEFAULT -1;
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET vType = -1;
-    SET checker = -1;
     SELECT modules.ID 
-    INTO checker
-    FROM `modules`
-    WHERE   DisciplineID = modules.DisciplineID AND 
-            modules.Type = 4
-    LIMIT 1;
-    IF checker > 0 THEN
+        INTO vChecker
+        FROM `modules`
+        WHERE   modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'extra'
+        LIMIT 1;
+    IF vChecker > 0 THEN
         RETURN -2;
     END IF;
 
-
     INSERT INTO `modules`   
-            (   modules.Name, modules.OrderNum, modules.DisciplineID, modules.Type )
-    VALUES  (   'Добор баллов' , 2900666 , DisciplineID, 4 );
+            (Name, OrderNum, DisciplineID, Type)
+    VALUES  ('Добор баллов' , 2900666 , pDisciplineID, 'extra');
+
 
-    SET vModule = -1;
     SELECT  modules.ID, disciplines.ExamType 
-    INTO vModule, vType
-    FROM `modules`
-    INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID 
-    WHERE   DisciplineID = modules.DisciplineID AND 
-            modules.Type = 4
-    LIMIT 1;
+        INTO vModule, vType
+        FROM `modules`
+        INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID
+        WHERE   modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'extra'
+        LIMIT 1;
     IF vModule <= 0 THEN
         RETURN -1; 
     END IF;
@@ -2892,52 +2736,51 @@ BEGIN
     IF vType = 2 THEN
     # credit
         SET vGap = 29;
-        SET checker = AddSubmodule(TeacherID, vModule, vGap, '', NULL, 'LandmarkControl');
+        SET vChecker = AddSubmodule(pTeacherID, vModule, vGap, '', NULL, 'LandmarkControl');
     END IF; 
 
-    SET checker = AddSubmodule(TeacherID, vModule, vGap, '', NULL, 'LandmarkControl');
+    SET vChecker = AddSubmodule(pTeacherID, vModule, vGap, '', NULL, 'LandmarkControl');
     RETURN vModule;
 END //
 
 
 DROP FUNCTION IF EXISTS DeleteModule//
-CREATE FUNCTION `DeleteModule`  (   `TeacherID` INT,
-                                    `ModuleID`  INT 
-                                )   RETURNS int(11)
+CREATE FUNCTION `DeleteModule`
+    (   `pTeacherID` INT, `pModuleID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker INT;
+    DECLARE vChecker INT DEFAULT -1;
 
-    SET checker = -1;
     SELECT disciplines.ID 
-    INTO checker 
-    FROM `modules`
-    INNER JOIN `disciplines`    ON  modules.DisciplineID = disciplines.ID AND
-                                    TeacherID = disciplines.AuthorID
-    WHERE   ModuleID = modules.ID
-    LIMIT 1;
-    IF  checker <= 0 THEN
+        INTO vChecker
+        FROM `modules`
+        INNER JOIN `disciplines`    ON  modules.DisciplineID = disciplines.ID AND
+                                        disciplines.AuthorID = pTeacherID
+        WHERE modules.ID = pModuleID
+        LIMIT 1;
+    IF  vChecker <= 0 THEN
         RETURN -1;
     END IF;
 
-    IF  NOT InternalIsTeacherAuthor(TeacherID,checker) OR
-        InternalIsMapLocked(checker) 
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, vChecker) OR
+        InternalIsMapLocked(vChecker) 
     THEN
         RETURN -1;
     END IF;
 
     DELETE FROM `submodules`
-    WHERE submodules.ModuleID = ModuleID;
+        WHERE submodules.ModuleID = pModuleID;
 
     DELETE FROM `modules` 
-    WHERE ModuleID = modules.ID;
+        WHERE modules.ID = pModuleID;
 
     SET @counter = 0;
     UPDATE `modules`
-    SET modules.OrderNum = (@counter := @counter + 1)
-    WHERE   modules.DisciplineID = checker AND
-            modules.Type = 1 # regular
-    ORDER BY modules.OrderNum ASC;
+        SET modules.OrderNum = (@counter := @counter + 1)
+        WHERE   modules.DisciplineID = vChecker AND
+                modules.Type = 'regular'
+        ORDER BY modules.OrderNum ASC;
 
     RETURN 0;
 END //
@@ -2945,35 +2788,34 @@ END //
 
 
 DROP FUNCTION IF EXISTS DeleteModuleExam//
-CREATE FUNCTION `DeleteModuleExam`      (   `TeacherID` INT,
-                                            `DisciplineID`  INT 
-                                        )   RETURNS int(11)
+CREATE FUNCTION `DeleteModuleExam`
+    (   `pTeacherID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE ExamModuleID INT;
-    IF  NOT InternalIsTeacherAuthor(TeacherID, DisciplineID) OR
-        InternalIsMapLocked(DisciplineID) 
+    DECLARE vExamModuleID INT DEFAULT -1;
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
+        InternalIsMapLocked(pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET ExamModuleID = -1;
     SELECT modules.ID
-    INTO ExamModuleID
-    FROM `modules`
-    WHERE   modules.Type = 2 AND
-            DisciplineID = modules.DisciplineID
-    LIMIT 1;
-    IF ExamModuleID <= 0 THEN
+        INTO vExamModuleID
+        FROM `modules`
+        WHERE   modules.Type = 'exam' AND
+                modules.DisciplineID = pDisciplineID
+        LIMIT 1;
+    IF vExamModuleID <= 0 THEN
         RETURN -1;
     END IF;
 
     DELETE FROM `submodules`
-    WHERE ExamModuleID = submodules.ModuleID;
+        WHERE vExamModuleID = submodules.ModuleID;
 
     DELETE FROM `modules` 
-    WHERE ExamModuleID = modules.ID
-    LIMIT 1; 
+        WHERE vExamModuleID = modules.ID
+        LIMIT 1;
 
     RETURN 0;
 END //
@@ -2981,54 +2823,51 @@ END //
 
 
 DROP FUNCTION IF EXISTS SwapModuleOrder//
-CREATE FUNCTION `SwapModuleOrder`   (   `TeacherID` INT, 
-                                        `ModuleID1` INT, 
-                                        `ModuleID2` INT 
-                                    )   RETURNS int(11)
+CREATE FUNCTION `SwapModuleOrder`
+    (   `pTeacherID` INT, `pModuleID1` INT, `pModuleID2` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, ord1, ord2, disc1, disc2 INT; 
+    DECLARE vChecker, vOrder1, vOrder2,
+            vDisciplineID1, vDisciplineID2 INT DEFAULT -1;
 
-    
-    SET disc1 = -1;
-    SET disc2 = -1;
     SELECT  modules.OrderNum,
             modules.DisciplineID
-    INTO ord1, disc1
-    FROM `modules`
-    INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID 
-    WHERE   TeacherID = disciplines.AuthorID AND
-            modules.ID = ModuleID1 AND 
-            modules.Type = 1
-    LIMIT 1;
+        INTO vOrder1, vDisciplineID1
+        FROM `modules`
+        INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID
+        WHERE   disciplines.AuthorID = pTeacherID AND
+                modules.ID = pModuleID1 AND
+                modules.Type = 'regular'
+        LIMIT 1;
 
     SELECT  modules.OrderNum,
             modules.DisciplineID
-    INTO ord2, disc2
-    FROM `modules`
-    INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID 
-    WHERE   TeacherID = disciplines.AuthorID AND
-            modules.ID = ModuleID2 AND
-            modules.Type = 1
-    LIMIT 1;
-    IF  disc1 != disc2 OR disc1 <= 0 OR
-        InternalIsMapLocked(disc1) THEN
+        INTO vOrder2, vDisciplineID2
+        FROM `modules`
+        INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID
+        WHERE   disciplines.AuthorID = pTeacherID AND
+                modules.ID = pModuleID2 AND
+                modules.Type = 'regular'
+        LIMIT 1;
+    IF  vDisciplineID1 != vDisciplineID2 OR vDisciplineID1 <= 0 OR
+        InternalIsMapLocked(vDisciplineID1) THEN
         RETURN -1;
     END IF;
 
     UPDATE `modules` 
-    SET modules.OrderNum    = 271828
-    WHERE modules.ID = ModuleID1;
+        SET modules.OrderNum = 271828
+        WHERE modules.ID = pModuleID1;
 
     UPDATE `modules` 
-    SET modules.OrderNum    = ord1
-    WHERE modules.ID = ModuleID2
-    LIMIT 1;
+        SET modules.OrderNum = vOrder1
+        WHERE modules.ID = pModuleID2
+        LIMIT 1;
 
     UPDATE `modules` 
-    SET modules.OrderNum    = ord2
-    WHERE modules.ID = ModuleID1
-    LIMIT 1;
+        SET modules.OrderNum = vOrder2
+        WHERE modules.ID = pModuleID1
+        LIMIT 1;
     
     RETURN 0;
 END //
@@ -3036,80 +2875,76 @@ END //
 
 
 DROP FUNCTION IF EXISTS AddModuleBonus//
-CREATE FUNCTION `AddModuleBonus`    (   `TeacherID`     INT, 
-                                        `DisciplineID`  INT
-                                    
-                                    )   RETURNS int(11)
+CREATE FUNCTION `AddModuleBonus`
+    (   `pTeacherID` INT, `pDisciplineID` INT
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, vModule INT;                       
-    IF  NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
-        InternalIsMapLocked(DisciplineID) 
+    DECLARE vChecker, vModuleID INT DEFAULT -1;
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
+        InternalIsMapLocked(pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET checker = -1;
     SELECT modules.ID 
-    INTO checker
-    FROM `modules`
-    WHERE   DisciplineID = modules.DisciplineID AND 
-            modules.Type = 3;
-    IF checker > 0 THEN
+        INTO vChecker
+        FROM `modules`
+        WHERE   modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'bonus';
+    IF vChecker > 0 THEN
         RETURN -2;
     END IF;
 
 
     INSERT INTO `modules`   
-            (   modules.Name, modules.OrderNum, modules.DisciplineID, modules.Type )
-    VALUES  (   'Бонусные баллы' , 2141692 , DisciplineID, 3 );
+        (Name, OrderNum, DisciplineID, Type)
+        VALUES  ('Бонусные баллы' , 2141692 , pDisciplineID, 3 );
 
-    SET vModule = -1;
     SELECT  modules.ID
-    INTO vModule
-    FROM `modules`
-    WHERE   DisciplineID = modules.DisciplineID AND 
-            modules.Type = 3
-    LIMIT 1;
-    IF vModule <= 0 THEN
+        INTO vModuleID
+        FROM `modules`
+        WHERE   modules.DisciplineID = pDisciplineID AND
+                modules.Type = 'bonus'
+        LIMIT 1;
+    IF vModuleID <= 0 THEN
         RETURN -1; 
     END IF;
 
-    SET checker = AddSubmodule(TeacherID, vModule, 10, '', NULL, 'LandmarkControl');
+    SET vChecker = AddSubmodule(pTeacherID, vModuleID, 10, '', NULL, 'LandmarkControl');
     RETURN 0;
 END //
 
 
 DROP FUNCTION IF EXISTS DeleteModuleBonus//
-CREATE FUNCTION `DeleteModuleBonus`     (   `TeacherID` INT,
-                                            `DisciplineID`  INT 
-                                        )   RETURNS int(11)
+CREATE FUNCTION `DeleteModuleBonus`
+    (   `pTeacherID` INT, `pDisciplineID` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE BonusModuleID INT;
-    IF  NOT InternalIsTeacherAuthor(TeacherID,DisciplineID) OR
-        InternalIsMapLocked(DisciplineID) 
+    DECLARE vBonusModuleID INT DEFAULT -1;
+    IF  NOT InternalIsTeacherAuthor(pTeacherID, pDisciplineID) OR
+        InternalIsMapLocked(pDisciplineID)
     THEN
         RETURN -1;
     END IF;
 
-    SET BonusModuleID = -1;
     SELECT modules.ID
-    INTO BonusModuleID
+    INTO vBonusModuleID
     FROM `modules`
-    WHERE   modules.Type = 3 AND
-            DisciplineID = modules.DisciplineID
+    WHERE   modules.Type = 'bonus' AND
+            modules.DisciplineID = pDisciplineID
     LIMIT 1;
-    IF BonusModuleID <= 0 THEN
+    IF vBonusModuleID <= 0 THEN
         RETURN -1;
     END IF;
 
     DELETE FROM `submodules`
-    WHERE BonusModuleID = submodules.ModuleID;
+        WHERE vBonusModuleID = submodules.ModuleID;
 
     DELETE FROM `modules` 
-    WHERE BonusModuleID = modules.ID
-    LIMIT 1; 
+        WHERE vBonusModuleID = modules.ID
+        LIMIT 1;
 
     RETURN 0;
 END //
@@ -3130,20 +2965,20 @@ CREATE FUNCTION `ChangeSubmoduleMaxAndControl`  (   `TeacherID`     INT,
                                             )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, disciplineID INT;           
+    DECLARE vChecker, disciplineID INT;           
     
-    SET checker = -1;
+    SET vChecker = -1;
     SET disciplineID = -1;
     SELECT  submodules.ID,
             disciplines.ID
-    INTO checker, disciplineID
+    INTO vChecker, disciplineID
     FROM `submodules`
     INNER JOIN `modules`        ON  submodules.ModuleID = modules.ID
     INNER JOIN `disciplines`    ON  disciplines.ID = modules.DisciplineID
     WHERE   TeacherID = disciplines.AuthorID AND
             SubmoduleID = submodules.ID
     LIMIT 1;
-    IF  checker <= 0 OR
+    IF  vChecker <= 0 OR
         disciplineID <= 0 OR 
         InternalIsMapLocked(disciplineID) THEN
         RETURN -1;
@@ -3167,20 +3002,20 @@ CREATE FUNCTION `ChangeSubmoduleName`   (   `TeacherID`     INT,
                                         )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, disciplineID INT;           
+    DECLARE vChecker, disciplineID INT;           
     
     SET disciplineID = -1;
-    SET checker = -1;
+    SET vChecker = -1;
     SELECT  submodules.ID,
             disciplines.ID
-    INTO checker, disciplineID
+    INTO vChecker, disciplineID
     FROM `submodules`
     INNER JOIN `modules`        ON  submodules.ModuleID = modules.ID
     INNER JOIN `disciplines`    ON  disciplines.ID = modules.DisciplineID
     WHERE   TeacherID = disciplines.AuthorID AND
             SubmoduleID = submodules.ID
     LIMIT 1;
-    IF  checker <= 0 OR 
+    IF  vChecker <= 0 OR 
         disciplineID <= 0 OR
         InternalIsMapLocked(disciplineID) THEN
         RETURN -1;
@@ -3202,20 +3037,20 @@ CREATE FUNCTION `ChangeSubmoduleDescription`    (   `TeacherID`     INT,
                                                 )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, disciplineID INT;           
+    DECLARE vChecker, disciplineID INT;           
     
-    SET checker = -1;
+    SET vChecker = -1;
     SET disciplineID = -1;
     SELECT  submodules.ID,
             disciplines.ID
-    INTO checker, disciplineID
+    INTO vChecker, disciplineID
     FROM `submodules`
     INNER JOIN `modules`        ON  submodules.ModuleID = modules.ID
     INNER JOIN `disciplines`    ON  disciplines.ID = modules.DisciplineID
     WHERE   TeacherID = disciplines.AuthorID AND
             SubmoduleID = submodules.ID
     LIMIT 1;
-    IF  checker <= 0 OR 
+    IF  vChecker <= 0 OR 
         disciplineID <= 0 OR
         InternalIsMapLocked(disciplineID) THEN
         RETURN -1;
@@ -3232,49 +3067,47 @@ END //
 
 
 DROP FUNCTION IF EXISTS DeleteSubmodule//
-CREATE FUNCTION `DeleteSubmodule`   (   `TeacherID`     INT,
-                                        `SubmoduleID`   INT
-                                    )   RETURNS int(11)
+CREATE FUNCTION `DeleteSubmodule`
+    (   `pTeacherID` INT, `pSubmoduleID` INT
+    ) RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker, ModID, disciplineID INT;
+    DECLARE vChecker, vModuleID, vDisciplineID INT DEFAULT -1;
 
-    SET checker = -1;
-    SET disciplineID = -1;
     SELECT submodules.ID, modules.ID, disciplines.ID
-    INTO checker, ModID, disciplineID
-    FROM `submodules`
-    INNER JOIN `modules`        ON  modules.ID = submodules.ModuleID
-    INNER JOIN `disciplines`    ON  modules.DisciplineID = disciplines.ID                                   
-    WHERE   TeacherID = disciplines.AuthorID AND 
-            SubmoduleID = submodules.ID 
-    LIMIT 1;
-    IF  checker <= 0 OR 
-        disciplineID <= 0 OR
-        InternalIsMapLocked(disciplineID) THEN
+        INTO vChecker, vModuleID, disciplineID
+        FROM `submodules`
+        INNER JOIN `modules` ON modules.ID = submodules.ModuleID
+        INNER JOIN `disciplines` ON modules.DisciplineID = disciplines.ID
+        WHERE   disciplines.AuthorID = pTeacherID AND
+                submodules.ID = pSubmoduleID
+        LIMIT 1;
+    IF  vChecker <= 0 OR 
+        vDisciplineID <= 0 OR
+        InternalIsMapLocked(vDisciplineID) THEN
         RETURN -1;
     END IF;
 
-    SET checker = -1;
+    SET vChecker = -1;
     SELECT rating_table.StudentID
-    INTO checker
-    FROM `rating_table`
-    WHERE rating_table.SubmoduleID = SubmoduleID
-    LIMIT 1;
-    IF checker > 0 THEN
+        INTO vChecker
+        FROM `rating_table`
+        WHERE rating_table.SubmoduleID = pSubmoduleID
+        LIMIT 1;
+    IF vChecker > 0 THEN
         RETURN -2;
     END IF;
 
     DELETE FROM `submodules` 
-    WHERE submodules.ID = SubmoduleID
-    LIMIT 1; 
+        WHERE submodules.ID = pSubmoduleID
+        LIMIT 1;
 
 
     SET @counter = 0;
     UPDATE `submodules`
-    SET submodules.OrderNum = (@counter := @counter + 1)
-    WHERE   submodules.ModuleID = ModID 
-    ORDER BY submodules.OrderNum ASC;
+        SET submodules.OrderNum = (@counter := @counter + 1)
+        WHERE   submodules.ModuleID = vModuleID
+        ORDER BY submodules.OrderNum ASC;
 
     RETURN 0;
 END //
@@ -3282,57 +3115,55 @@ END //
 
 
 DROP FUNCTION IF EXISTS AddSubmodule//
-CREATE FUNCTION `AddSubmodule`  (   `TeacherID`     INT, 
-                                    `ModuleID`      INT, 
-                                    `MaxRate`       INT, 
-                                    `Name`          VARCHAR(200) charset utf8, 
-                                    `Description`   VARCHAR(200) charset utf8,
-                                    `ControlType`   VARCHAR(30) charset utf8
-                                )   RETURNS int(11)
+CREATE FUNCTION `AddSubmodule`
+    (   `pTeacherID` INT, `pModuleID` INT, `pMaxRate` INT,
+        `pName` VARCHAR(200) charset utf8,
+        `pDescription` VARCHAR(200) charset utf8,
+        `pControlType` VARCHAR(30) charset utf8
+    )   RETURNS int(11)
     NO SQL
 BEGIN  
-    DECLARE checker INT;  
-    
-    SET checker = -1;
+    DECLARE vChecker INT DEFAULT -1;
+
     SELECT disciplines.ID 
-    INTO checker 
-    FROM `modules`
-    INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID
-    WHERE   TeacherID = disciplines.AuthorID AND
-            ModuleID = modules.ID 
-    LIMIT 1;
-    IF  checker <= 0 OR
-        InternalIsMapLocked(checker)
+        INTO vChecker
+        FROM `modules`
+        INNER JOIN `disciplines` ON disciplines.ID = modules.DisciplineID
+        WHERE   disciplines.AuthorID = pTeacherID AND
+                modules.ID = pModuleID
+        LIMIT 1;
+    IF  vChecker <= 0 OR
+        InternalIsMapLocked(vChecker)
     THEN
         RETURN -1;
     END IF;
 
 
-    SET checker = 0;
+    SET vChecker = 0;
     SELECT MAX(submodules.OrderNum)
-    INTO checker
-    FROM `submodules`
-    WHERE   ModuleID = submodules.ModuleID
-    LIMIT 1;
-    IF checker IS NULL THEN
-        SET checker = 0;
+        INTO vChecker
+        FROM `submodules`
+        WHERE submodules.ModuleID = pModuleID
+        LIMIT 1;
+    IF vChecker IS NULL THEN
+        SET vChecker = 0;
     END IF;
-    SET checker = checker + 1;
+    SET vChecker = vChecker + 1;
 
-    IF Description = "" THEN
+    IF pDescription = '' THEN
         INSERT INTO `submodules`    
-                (   submodules.ModuleID, submodules.MaxRate, submodules.OrderNum, submodules.Name, submodules.Description, submodules.Type )
-        VALUES  (   ModuleID, MaxRate, checker, Name, NULL, ControlType);
+            (ModuleID, MaxRate, OrderNum, Name, Description, Type)
+            VALUES  (pModuleID, pMaxRate, vChecker, pName, NULL, pControlType);
     ELSE 
         INSERT INTO `submodules`    
-                (   submodules.ModuleID, submodules.MaxRate, submodules.OrderNum, submodules.Name, submodules.Description, submodules.Type )
-        VALUES  (   ModuleID, MaxRate, checker, Name, Description, ControlType);
+            (ModuleID, MaxRate, OrderNum, Name, Description, Type )
+            VALUES (pModuleID, pMaxRate, vChecker, pName, pDescription, pControlType);
     END IF;
     
-    RETURN  (   SELECT submodules.ID
+    RETURN  (SELECT submodules.ID
                 FROM `submodules`
-                WHERE   submodules.ModuleID = ModuleID AND
-                        submodules.OrderNum = checker
+                WHERE   submodules.ModuleID = pModuleID AND
+                        submodules.OrderNum = vChecker
                 LIMIT 1
             );
 END //
@@ -3355,8 +3186,8 @@ BEGIN
         INNER JOIN `modules`        ON  submodules.ModuleID = modules.ID
         INNER JOIN `disciplines`    ON  disciplines.ID = modules.DisciplineID
         WHERE   disciplines.AuthorID = pTeacherID AND
-                SubmoduleID1 = submodules.ID
-        LIMIT 1; 
+                submodules.ID = pSubmoduleID1
+    LIMIT 1;
 
     SELECT  submodules.OrderNum,
             submodules.ModuleID
@@ -3365,8 +3196,8 @@ BEGIN
         INNER JOIN `modules`        ON  submodules.ModuleID = modules.ID
         INNER JOIN `disciplines`    ON  disciplines.ID = modules.DisciplineID
         WHERE   disciplines.AuthorID = pTeacherID AND
-                SubmoduleID2 = submodules.ID
-        LIMIT 1; 
+                submodules.ID = pSubmoduleID2
+        LIMIT 1;
 
     IF  vModule1 <= 0 OR vModule1 != vModule2 OR
         InternalIsMapLocked(vDisciplineID) 
@@ -3375,19 +3206,17 @@ BEGIN
     END IF;
 
     UPDATE `submodules` 
-    SET submodules.OrderNum     = 271828
-    WHERE submodules.ID = pSubmoduleID1
-    LIMIT 1;
-
+        SET submodules.OrderNum     = 271828
+        WHERE submodules.ID = pSubmoduleID1
+        LIMIT 1;
     UPDATE `submodules` 
-    SET submodules.OrderNum     = vOrder1
-    WHERE submodules.ID = pSubmoduleID2
-    LIMIT 1;
-
+        SET submodules.OrderNum     = vOrder1
+        WHERE submodules.ID = pSubmoduleID2
+        LIMIT 1;
     UPDATE `submodules` 
-    SET submodules.OrderNum     = vOrder2
-    WHERE submodules.ID = pSubmoduleID1
-    LIMIT 1;
+        SET submodules.OrderNum     = vOrder2
+        WHERE submodules.ID = pSubmoduleID1
+        LIMIT 1;
     RETURN 0;
 END //
 
@@ -3422,11 +3251,11 @@ CREATE FUNCTION `CalculateMaxRateForExtra`
 ( `pSubmoduleID` INT, `pStudentID` INT) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE examTypeVar VARCHAR(30) charset utf8; # enum('exam', 'credit');# utf8_general_ci;
+    DECLARE vExamType INT; # enum('exam', 'credit');# utf8_general_ci;
     DECLARE vLim INT;
     DECLARE vResult INT DEFAULT -1;
      
-    IF ExamType = 'exam' THEN
+    IF vExamType = 'exam' THEN
         SET vLim = 38;
     ELSE
         SET vLim = 60;
@@ -3448,25 +3277,21 @@ CREATE FUNCTION `SetStudentRate`
     `pSubmoduleID` INT, `pRate` INT ) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE checker, DisciplineID, groupID, rateID, maxRate, isOver, mtype INT;
-    DECLARE isLocked, isUsed tinyint; 
+    DECLARE vChecker, vDisciplineID, vGroupID, vRateID, vMaxRate, vMtype INT DEFAULT -1;
+    DECLARE vIsOver, vIsLocked, vIsUsed tinyint DEFAULT 0;
 
-    SET groupID = -1;
     SELECT students.StudyGroupID 
-    INTO groupID 
-    FROM `students` 
-    WHERE students.ID = pStudentID 
-    LIMIT 1; 
-    IF groupID <= 0 THEN 
+        INTO vGroupID
+        FROM `students`
+        WHERE students.ID = pStudentID
+        LIMIT 1;
+    IF vGroupID <= 0 THEN
         RETURN -1;
     END IF;                  
 
-    SET maxRate = CalculateMaxRateForExtra(pSubmoduleID, pStudentID);
+    SET vMaxRate = CalculateMaxRateForExtra(pSubmoduleID, pStudentID);
     
-    SET isOver = 1;
-    SET isLocked = 0;
-    SET DisciplineID = -1;
-    SET mtype = -1;
+    SET vIsOver = 1;
     SELECT  modules.DisciplineID, 
             disciplines.isLocked, 
             disciplines.isMilestone, 
@@ -3479,35 +3304,35 @@ BEGIN
                 submodules.maxRate
             END,
             modules.Type
-    INTO DisciplineID, isLocked, isOver, rateID, isUsed, maxRate, mtype
+    INTO vDisciplineID, vIsLocked, vIsOver, vRateID, vIsUsed, vMaxRate, vMtype
     FROM `submodules`
     INNER JOIN `modules`                ON  submodules.ModuleID = modules.ID
     INNER JOIN `disciplines`            ON  modules.DisciplineID = disciplines.ID
     INNER JOIN `disciplines_teachers`   ON  disciplines.ID = disciplines_teachers.DisciplineID AND
                                             pTeacherID = disciplines_teachers.TeacherID 
     LEFT JOIN   `disciplines_groups`    ON  disciplines.ID = disciplines_groups.DisciplineID AND
-                                            groupID = disciplines_groups.StudyGroupID
+                                            vGroupID = disciplines_groups.StudyGroupID
     LEFT JOIN   `disciplines_students`  ON  disciplines.ID = disciplines_students.DisciplineID AND
                                             pStudentID = disciplines_students.StudentID  AND
                                             1 = disciplines_students.Type
-    LEFT JOIN   `rating_table`          ON  SubModuleID = rating_table.SubmoduleID AND
+    LEFT JOIN   `rating_table`          ON  pSubModuleID = rating_table.SubmoduleID AND
                                             pStudentID = rating_table.StudentID
     WHERE   submodules.ID = SubModuleID AND
             (   disciplines_students.ID IS NOT NULL OR
                 disciplines_groups.ID IS NOT NULL
             )
     LIMIT 1;
-    IF  DisciplineID <= 0 OR 
-        pRate > maxRate OR 
-        (isOver > 0 AND (mtype = 1 OR mtype = 3))
+    IF  vDisciplineID <= 0 OR
+        pRate > vMaxRate OR
+        (vIsOver > 0 AND (vMtype = 1 OR vMtype = 3))
     THEN
         RETURN -1;
     END IF;
 
 
-    IF rateID IS NOT NULL AND rateID > 0 THEN
+    IF vRateID IS NOT NULL AND vRateID > 0 THEN
         INSERT INTO `logs_rating`
-                (logs_rating.StudentID, logs_rating.SubmoduleID, logs_rating.TeacherID, logs_rating.Rate, logs_rating.Action )
+                (StudentID, SubmoduleID, TeacherID, Rate, Action )
         VALUES  (pStudentID, SubModuleID, pTeacherID, pRate, 'change');
 
         UPDATE `rating_table`
@@ -3519,30 +3344,25 @@ BEGIN
         LIMIT 1;
 
     ELSE
-        IF NOT isLocked THEN
+        IF NOT vIsLocked THEN
             UPDATE `disciplines`
             SET     disciplines.isLocked = 1
-            WHERE   disciplines.ID = DisciplineID
+            WHERE   disciplines.ID = vDisciplineID
             LIMIT 1;
         END IF;
 
         INSERT INTO `logs_rating`
-                (logs_rating.StudentID, logs_rating.SubmoduleID, logs_rating.TeacherID, logs_rating.Rate, logs_rating.Action )
+                (StudentID, SubmoduleID, TeacherID, Rate, Action )
         VALUES  (pStudentID, SubModuleID, pTeacherID, pRate, 'add');
 
         INSERT INTO `rating_table` 
-                (   rating_table.StudentID, 
-                    rating_table.TeacherID, 
-                    rating_table.SubmoduleID, 
-                    rating_table.Rate, 
-                    rating_table.Date 
-                )
-        VALUES  ( pStudentID, pTeacherID, pSubmoduleID, pRate, CURDATE() );
+            (   StudentID, TeacherID, SubmoduleID, Rate, Date)
+            VALUES  ( pStudentID, pTeacherID, pSubmoduleID, pRate, CURDATE() );
 
-        IF NOT isUsed THEN
+        IF NOT vIsUsed THEN
             UPDATE `submodules`
             SET submodules.isUsed = 1
-            WHERE submodules.ID = SubModuleID
+            WHERE submodules.ID = pSubModuleID
             LIMIT 1;
         END IF;
     END IF;
@@ -3599,7 +3419,7 @@ CREATE FUNCTION `CreateRequest`
     NO SQL
 BEGIN
     INSERT INTO `requests`
-        (requests.AccountID, requests.Title, requests.Description, requests.Status)
+        (AccountID, Title, Description, Status)
         VALUES  (pAccountID, pTitle, pDescription, 'opened');
     RETURN LAST_INSERT_ID();
 END//
@@ -3776,7 +3596,7 @@ BEGIN
     END IF; 
 
     INSERT INTO `recovery_tokens`
-        (recovery_tokens.AccountID, recovery_tokens.Token )
+        (AccountID, Token )
         VALUES  (vAccountID, pToken);
     RETURN LAST_INSERT_ID();
 END//
@@ -3788,14 +3608,14 @@ CREATE FUNCTION `UseRecoveryToken`
 (   `pToken` VARCHAR(100) charset utf8) RETURNS int(11)
     NO SQL
 BEGIN
-    DECLARE checker INT DEFAULT -1;
+    DECLARE vChecker INT DEFAULT -1;
 
     SELECT recovery_tokens.ID
-        INTO checker
+        INTO vChecker
         FROM `recovery_tokens`
         WHERE recovery_tokens.Token = pToken
         LIMIT 1;
-    IF checker <= 0 THEN
+    IF vChecker <= 0 THEN
         RETURN -1;
     END IF;