diff --git a/secure/master.c b/secure/master.c
index b0f1434..fdfd1c5 100644
--- a/secure/master.c
+++ b/secure/master.c
@@ -3,9 +3,13 @@
 // master.c -- master object
 //
 // $Id: master.c 9530 2016-03-17 19:59:01Z Zesstra $
-#pragma strict_types,rtt_checks
-#pragma no_clone,no_shadow,no_inherit
-#pragma pedantic
+#pragma strict_types
+#pragma no_clone
+#pragma no_shadow
+#pragma no_inherit
+#pragma verbose_errors
+#pragma combine_strings
+//#pragma pedantic
 #pragma range_check
 #pragma warn_deprecated
 
@@ -13,16 +17,6 @@
 #include "/sys/interactive_info.h"
 #include "/sys/driver_info.h"
 
-inherit "/secure/master/misc";
-inherit "/secure/master/userinfo";
-inherit "/secure/master/network";
-inherit "/secure/master/domain";
-inherit "/secure/master/guild";
-inherit "/secure/master/file_access";
-inherit "/secure/master/players_deny";
-
-#include "/secure/master.h"
-
 //for limited, set_limit(), etc. Abs. Pfad noetig, da noch kein Include-Hook
 #include "/sys/rtlimits.h"
 #include "/sys/debug_info.h"
@@ -30,11 +24,21 @@
 #include "/sys/driver_hook.h"
 #include "/sys/regexp.h"
 
+#include "/secure/master.h"
+#include "/secure/config.h"
 // Module des Master einfuegen. Per #include, damits geringfuegig schneller.
 // Da die Module ja nirgendwo sonst geerbt werden koennten, ist dies
 // ausnahmsweise OK. ;)
 #include "/secure/master/destruct.c"
+#include "/secure/master/userinfo.c"
+#include "/secure/master/file_access.c"
+#include "/secure/master/misc.c"
+#include "/secure/master/players_deny.c"
 #include "/secure/master/autoinclude.c"
+#include "/secure/master/network.c"
+#include "/secure/master/domain.c"
+#include "/secure/master/guild.c"
+
 
 // Fuer Logfile(-Rotation)
 #define RESETINT   3600                      // jede Stunde
@@ -71,7 +75,7 @@
     CreateDataDirectories();
   }
 
-  userinfo::create();
+  userinfo_init();
   LoadPLDenylists();
 
   // Was soll vor jede Datei geschrieben werden?
@@ -540,9 +544,6 @@
 // Die System-IDs muessen bekannt sein
 string get_master_uid()          { return ROOTID;}
 string get_bb_uid()              { return BACKBONEID; }
-// TODO: Bei get_wiz_name koennte man - so moeglich - auf 'wirkliche'
-//       Magiernamen gehen (Idee von mandragon)
-string get_wiz_name(string file) { return creator_file(file);}
 
 //                     ##########################
 //###################### Sonstige GD-Funktionen #########################
diff --git a/secure/master.h b/secure/master.h
index 5bbe781..dd9b896 100644
--- a/secure/master.h
+++ b/secure/master.h
@@ -67,10 +67,10 @@
 
 // aus master.c
 string        creator_file(mixed str);
-mixed         give_uid_to_object(string datei,object po);
+protected mixed give_uid_to_object(string datei,object po);
 void          save_wiz_file();
 mixed         load_uid_hook(string datei);
-mixed         clone_uid_hook(object blueprint,string new_name);
+protected mixed clone_uid_hook(object blueprint,string new_name);
 protected mixed call_sefun(string sefun, varargs mixed args);
 
 // aus domains.c
diff --git a/secure/master/domain.c b/secure/master/domain.c
index 4e2bc5c..984133f 100644
--- a/secure/master/domain.c
+++ b/secure/master/domain.c
@@ -4,11 +4,6 @@
 //
 // $Id: domain.c 7162 2009-02-26 21:14:43Z Zesstra $
 
-#pragma strict_types,rtt_checks,pedantic
-
-#include "/secure/master.h"
-#include "/sys/files.h"
-
 int domain_master(string user, string domain)
 {
   string *domains;
diff --git a/secure/master/file_access.c b/secure/master/file_access.c
index 04cd53e..3acc9f9 100644
--- a/secure/master/file_access.c
+++ b/secure/master/file_access.c
@@ -1,7 +1,3 @@
-#pragma strict_types,rtt_checks,pedantic
-
-#include "/secure/master.h"
-
 static mapping projects=([]);
 static string *insecure,*deputy_files;
 
diff --git a/secure/master/guild.c b/secure/master/guild.c
index b8b71fa..9f4e839 100644
--- a/secure/master/guild.c
+++ b/secure/master/guild.c
@@ -10,11 +10,6 @@
  * Bisher werden nur Gildenmagier verwaltet.
  */
 
-#pragma strict_types,rtt_checks,pedantic
-
-#include "/secure/master.h"
-
-
 int guild_master(string user, string guild)
 {
   string *guilds;
diff --git a/secure/master/misc.c b/secure/master/misc.c
index 82ec5e3..98ca77e 100644
--- a/secure/master/misc.c
+++ b/secure/master/misc.c
@@ -4,19 +4,13 @@
 //
 // $Id: misc.c 9467 2016-02-19 19:48:24Z Zesstra $
 
-#pragma strict_types,rtt_checks,pedantic
-
 #include "/sys/functionlist.h"
 #include "/sys/lpctypes.h"
 #include "/sys/object_info.h"
-#include "/sys/interactive_info.h"
-#include "/sys/files.h"
 
-#include "/secure/master.h"
 #include "/mail/post.h"
 #include "/sys/thing/language.h"
 #include "/sys/thing/description.h"
-#include "/sys/configuration.h"
 
 // Fuer CIDR-Notatio im sbanish
 #include "/secure/master/cidr.c"
diff --git a/secure/master/network.c b/secure/master/network.c
index 695f1f8..35f202d 100644
--- a/secure/master/network.c
+++ b/secure/master/network.c
@@ -4,9 +4,6 @@
 //
 // $Id: network.c 8934 2014-09-10 21:57:12Z Zesstra $
 
-#pragma strict_types,rtt_checks,pedantic
-
-#include "/secure/master.h"
 #define BBMASTER "/secure/bbmaster"
 
 /*
diff --git a/secure/master/players_deny.c b/secure/master/players_deny.c
index a66e4e9..c14418d 100644
--- a/secure/master/players_deny.c
+++ b/secure/master/players_deny.c
@@ -3,10 +3,7 @@
 // master.c -- master object
 //
 // $Id: master.c 7041 2008-10-13 18:18:27Z Zesstra $
-#pragma strict_types,no_clone,no_shadow
-#pragma pedantic,range_check,warn_deprecated
 
-#include "/secure/config.h"
 #define WHITELIST "/"LIBDATADIR"/secure/ARCH/players_deny_whitelist.o"
 #define TARGETLIST "/"LIBDATADIR"/secure/ARCH/players_deny_targets.o"
 #define WHITELISTDUMP "/"LIBDATADIR"/secure/ARCH/players_deny_whitelist.dump"
@@ -15,7 +12,6 @@
 //#define PLDENY_LEARNMODE
 
 #include "/secure/wizlevels.h"
-#include "/secure/master.h"
 
 /* Diese Objekte duerfen aus /players/ includieren/erben */
 nosave private mapping whitelist;
diff --git a/secure/master/userinfo.c b/secure/master/userinfo.c
index b17561b..af7ec8a 100644
--- a/secure/master/userinfo.c
+++ b/secure/master/userinfo.c
@@ -4,10 +4,6 @@
 //
 // $Id: userinfo.c 9467 2016-02-19 19:48:24Z Zesstra $
 
-#pragma strict_types,rtt_checks,pedantic
-
-#include "/secure/master.h"
-#include "/sys/files.h"
 #include "/sys/object_info.h"
 
 // Makro aus wizlevels.h ersetzen, da secure_level ne sefun ist. *seufz*
@@ -542,6 +538,8 @@
 }
 
 // User-ID fuer ein File ermitteln.
+// TODO: Bei get_wiz_name koennte man - so moeglich - auf 'wirkliche'
+//       Magiernamen gehen (Idee von mandragon) --> Pruefen
 public string get_wiz_name(string file) {
     return creator_file(file);
 }
@@ -886,7 +884,7 @@
 }
 
 // *************** interne Funktionen ********************************
-protected void create()
+protected void userinfo_init()
 {
   userlist=m_allocate(0,12);
   update_late_players();
