public function load_modules()
 {
     $modules = array();
     $module_files = utilities::glob_recursive($this->root . "*.php", GLOB_NOSORT);
     foreach ($module_files as $mfile) {
         if (utilities::module_path_valid($mfile)) {
             try {
                 $modules[] = (include $mfile);
             } catch (Exception $ex) {
             }
         } else {
         }
     }
     $valid_modules = array();
     $invalid_modules = array();
     foreach ($modules as $m) {
         if (utilities::module_valid($m)) {
             $valid_modules[] = $m;
         } else {
             $invalid_modules[] = $m;
         }
     }
     $this->modules = $valid_modules;
     $this->invalid_modules = $invalid_modules;
     return $this->modules;
 }