diff --git a/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php b/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php
index ec119996c2117458da22e73dffb19fdcd2cf39ea..ecb120e971710998e30c3a9e5553c5fd29384a11 100644
--- a/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php
+++ b/~dev_rating/application/classes/Model/Helper/CourseWorkBuilder.php
@@ -9,11 +9,17 @@ class Model_Helper_CourseWorkBuilder extends Model_Helper_Builder
             'Lectures'  => 0,
             'Practice'  => 0,
             'Labs'      => 0,
+            'Milestone' => null,
             'IsLocked'  => false,
             'Type'      => 'grading_credit',
         ];
 
-        if (count($this->data) < 11)  # fixme: bad const
+        $required = [
+            'Subtype', 'IsLocked', 'Milestone', 'AuthorID', 'GradeID', 'FacultyID',
+            'SubjectID', 'Lectures', 'Practice', 'Labs', 'Type', 'SemesterID'
+        ];
+
+        if (array_diff($required, array_keys($this->data)))
             throw new InvalidArgumentException('not enough arguments');
 
         return new Model_CourseWork($this->data, false);
diff --git a/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php b/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php
index 21d8218fd2a04131dbf871d26c5c940732d69cc9..b6e0b88a44c27acb7adf4eeaf6ded144474ab679 100644
--- a/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php
+++ b/~dev_rating/application/classes/Model/Helper/DisciplineBuilder.php
@@ -9,7 +9,12 @@ class Model_Helper_DisciplineBuilder extends Model_Helper_Builder
             'Milestone' => 0,
         ];
 
-        if (count($this->data) < 12)  # fixme: bad const
+        $required = [
+            'Subtype', 'IsLocked', 'Milestone', 'AuthorID', 'GradeID', 'FacultyID',
+            'SubjectID', 'Lectures', 'Practice', 'Labs', 'Type', 'SemesterID'
+        ];
+
+        if (array_diff($required, array_keys($this->data)))
             throw new InvalidArgumentException('not enough arguments');
 
         return new Model_Discipline($this->data, false);