diff --git a/dta.zip b/dta.zip
index bf683ed10c2524ba6fa4e60403149184f3f4f67d..83d1e2867578df0141d3c8e191b5f951a10eaed8 100644
Binary files a/dta.zip and b/dta.zip differ
diff --git a/dta/utils/backend.php b/dta/classes/backend.php
similarity index 94%
rename from dta/utils/backend.php
rename to dta/classes/backend.php
index a881f9ff32548dfba4bff5655fde61bc109fb781..b2904ae2d946a5363e6bf42556a2e440561b72bd 100644
--- a/dta/utils/backend.php
+++ b/dta/classes/backend.php
@@ -48,8 +48,8 @@ class DtaBackendUtils {
     /**
      * Sends the configuration textfile uploaded by prof to the backend.
      *
-     * @param $assignment assignment this test-config belongs to
-     * @param $file uploaded test-config
+     * @param assignment $assignment assignment this test-config belongs to
+     * @param file $file uploaded test-config
      * @return bool true if no error occurred
      */
     public static function sendtestconfigtobackend($assignment, $file): bool {
@@ -78,8 +78,8 @@ class DtaBackendUtils {
     /**
      * Sends sumbission config or archive to backend to be tested.
      *
-     * @param $assignment assignment this submission is done for
-     * @param $file submission config file or archive with submission
+     * @param assignment $assignment assignment this submission is done for
+     * @param file $file submission config file or archive with submission
      * @return string json string with testresults or null on error
      */
     public static function sendsubmissiontobackend($assignment, $file): ?string {
diff --git a/dta/utils/database.php b/dta/classes/database.php
similarity index 96%
rename from dta/utils/database.php
rename to dta/classes/database.php
index 8d54c0607fc2b1c56b807cb410689d1fb096ecc7..6f5c82a94f5545911657831ebbadbe1ca5f0ece0 100644
--- a/dta/utils/database.php
+++ b/dta/classes/database.php
@@ -88,9 +88,9 @@ class DbUtils {
      * save given result summary and single results to database
      * under given assignment and submission id
      *
-     * @param $assignmentid assigment this is submission is linked to
-     * @param $submissionid submission of this result
-     * @param $summary instance to persist
+     * @param int $assignmentid assigment this is submission is linked to
+     * @param int $submissionid submission of this result
+     * @param DtaResultSummary $summary instance to persist
      */
     public static function storeresultsummarytodatabase(
         int $assignmentid,
diff --git a/dta/classes/privacy/provider.php b/dta/classes/privacy/provider.php
index 00558e7ed58fd10bd44d4c3dbfa76d92f9dc6fb6..9e36d5cd63c0a1fb48918504afaf5a8bb516f311 100644
--- a/dta/classes/privacy/provider.php
+++ b/dta/classes/privacy/provider.php
@@ -14,13 +14,6 @@
 // You should have received a copy of the GNU General Public License
 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 
-/**
- * provider for data privacy
- *
- * @package assignsubmission_dta
- * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- * @copyright Gero Lueckemeyer and student project teams
- */
 namespace assignsubmission_dta\privacy;
 
 use core_privacy\local\metadata\collection;
@@ -28,6 +21,13 @@ use core_privacy\local\request\writer;
 use core_privacy\local\request\contextlist;
 use mod_assign\privacy\assign_plugin_request_data;
 
+/**
+ * provider for data privacy
+ *
+ * @package assignsubmission_dta
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @copyright Gero Lueckemeyer and student project teams
+ */
 class provider implements \core_privacy\local\metadata\provider,
         \mod_assign\privacy\assignsubmission_provider,
         \mod_assign\privacy\assignsubmission_user_provider {
@@ -37,6 +37,10 @@ class provider implements \core_privacy\local\metadata\provider,
      */
     const ASSIGNSUBMISSION_DTA_FILEAREA_SUBMISSION = "submissions_dta";
 
+    /**
+     * This is the metadata information for the assignsubmission_dta plugin.
+     * @param collection $collection the collection of metadata filled by the plugin
+     */
     public static function get_metadata(collection $collection): collection {
         $collection->add_subsystem_link(
             'core_files',
diff --git a/dta/utils/view.php b/dta/classes/view.php
similarity index 98%
rename from dta/utils/view.php
rename to dta/classes/view.php
index ebd223a3c6b4df92cfee2b9f57a6ca956fc2e0e2..b5d1dc8bd8e0ded138bff08ebc3b57a24a1d7f4b 100644
--- a/dta/utils/view.php
+++ b/dta/classes/view.php
@@ -31,8 +31,8 @@ class view_submission_utils {
     /**
      * generates a short summary html
      *
-     * @param $assignmentid assignment
-     * @param $submissionid submission to create a report for
+     * @param int $assignmentid id of the assignment to show
+     * @param int $submissionid id of the submission for which to create a report
      * @return string html
      */
     public static function generatesummaryhtml(
@@ -87,8 +87,8 @@ class view_submission_utils {
     /**
      * generates detailed view html
      *
-     * @param $assignmentid assignment
-     * @param $submissionid submission to create a report for
+     * @param int $assignmentid id of the assignment to show
+     * @param int $submissionid id of the submission for which to create a report
      */
     public static function generatedetailhtml(
         int $assignmentid,
diff --git a/dta/models/DtaResult.php b/dta/models/DtaResult.php
index a06e33d2976082a5c7c3280d70fa67a020761842..592d6f0633bfeec9bdb4024e2d0b845be4ab5f94 100644
--- a/dta/models/DtaResult.php
+++ b/dta/models/DtaResult.php
@@ -92,8 +92,8 @@ class DtaResult {
 
     /**
      * Returns the name of a state with the given number of display.
-     * @param $state number of the state
-     * @return name of state as defined
+     * @param int $state number of the state
+     * @return string name of state as defined
      */
     public static function getstatename(int $state): string {
         if ($state == 1) {
@@ -188,7 +188,6 @@ class DtaResultSummary {
         return $ret;
     }
 
-
     /**
      * Returns the number of detail results attached to the summary.
      * @return int count of occurences
diff --git a/dta/version.php b/dta/version.php
index b7de914023700775b20887a2e06ce73f6e2975e8..cf9e0b3dfc3fbb1fcf5e945d95cf29f4e9e2e8d6 100644
--- a/dta/version.php
+++ b/dta/version.php
@@ -24,8 +24,8 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2000000;
-$plugin->requires  = 2019111800; // Moodle 3.8.
+$plugin->version   = 3000000;
+$plugin->requires  = 2020061525; // Moodle 3.9 LTS
 $plugin->component = 'assignsubmission_dta';
 $plugin->maturity  = MATURITY_STABLE;
-$plugin->release   = "2.0.0";
+$plugin->release   = "3.0.0";