diff --git a/lib/include/array.h b/lib/include/array.h
index c408f63b23aeac1508f29e5932bf2e84e9a3429d..d386847b2011f574bfbf92162c7019857025c7a3 100644
--- a/lib/include/array.h
+++ b/lib/include/array.h
@@ -1 +1 @@
-import array_functions;
+import Array;
diff --git a/lib/include/fifo.h b/lib/include/fifo.h
index 39fe211ceaab4236510de4cc9c20c7478c6059b9..87ec416cab06a0b3588128410164420fa6700c58 100644
--- a/lib/include/fifo.h
+++ b/lib/include/fifo.h
@@ -1 +1 @@
-import fifo;
+import Fifo;
diff --git a/lib/include/getopt.h b/lib/include/getopt.h
index 3dfe6f74b6e2f04e3e7d91d4772443cdf6fc8c2e..38a89c8c56ef6eb7de1e69bf12f90ff19dcfada9 100644
--- a/lib/include/getopt.h
+++ b/lib/include/getopt.h
@@ -1 +1 @@
-import getopt;
+import Getopt;
diff --git a/lib/include/process.h b/lib/include/process.h
index 09bacbb8c985e47a3b3732a6cc25bfbc8d042a33..4f937dba52f96d0e83e6109f9a663851db418f5e 100644
--- a/lib/include/process.h
+++ b/lib/include/process.h
@@ -1 +1 @@
-import process;
+import Process;
diff --git a/lib/include/simulate.h b/lib/include/simulate.h
index 1ab42cb2e82f153bff08c7eefcc2fa001208251e..7b37470cf13b0a4cd87119a434600f268f107d91 100644
--- a/lib/include/simulate.h
+++ b/lib/include/simulate.h
@@ -1,7 +1,5 @@
 #define list multiset
 #define perror(X) werror(X)
 #define efun predef
-import simulate;
-import stdio;
-import array_functions;
-import process;
+#define regexp(X,Y) filter((X),regexp(Y)->match)
+import Simulate;
diff --git a/lib/include/stack.h b/lib/include/stack.h
index 39fe211ceaab4236510de4cc9c20c7478c6059b9..87ec416cab06a0b3588128410164420fa6700c58 100644
--- a/lib/include/stack.h
+++ b/lib/include/stack.h
@@ -1 +1 @@
-import fifo;
+import Fifo;
diff --git a/lib/include/stdio.h b/lib/include/stdio.h
index 8c59074993e69214fac3e17c3646d0c58076a2f5..7506d66f5e5db2f5b79c787701da2ee3539ed32d 100644
--- a/lib/include/stdio.h
+++ b/lib/include/stdio.h
@@ -1 +1 @@
-import stdio;
+import Stdio;
diff --git a/lib/include/string.h b/lib/include/string.h
index 25c4368115e468f101feeb0d851950dbfec9c697..1066ba7bba51e2e22594b52619b4b8453909380c 100644
--- a/lib/include/string.h
+++ b/lib/include/string.h
@@ -1 +1 @@
-import string_functions;
+import String;
diff --git a/lib/modules/array_functions.pmod b/lib/modules/Array.pmod
similarity index 100%
rename from lib/modules/array_functions.pmod
rename to lib/modules/Array.pmod
diff --git a/lib/modules/fifo.pmod b/lib/modules/Fifo.pmod
similarity index 100%
rename from lib/modules/fifo.pmod
rename to lib/modules/Fifo.pmod
diff --git a/lib/modules/getopt.pmod b/lib/modules/Getopt.pmod
similarity index 100%
rename from lib/modules/getopt.pmod
rename to lib/modules/Getopt.pmod
diff --git a/lib/modules/process.pmod b/lib/modules/Process.pmod
similarity index 99%
rename from lib/modules/process.pmod
rename to lib/modules/Process.pmod
index 2f088ecd8a44d453442cb1b4abd871d795296bef..edb4803b3f96b8edace1f63b3f2b4696c839a514 100644
--- a/lib/modules/process.pmod
+++ b/lib/modules/Process.pmod
@@ -1,6 +1,6 @@
 #define error(X) throw( ({ (X), backtrace()[0..sizeof(backtrace())-2] }) )
 
-import stdio;
+import Stdio;
 
 static private inherit File : file;
 
diff --git a/lib/modules/simulate.pmod b/lib/modules/Simulate.pmod
similarity index 90%
rename from lib/modules/simulate.pmod
rename to lib/modules/Simulate.pmod
index e3cb05a4461f7febf4f6bf7c0796d649e920e0ff..dccf3ebc95231aa83f1de1de2c060024d9147dc3 100644
--- a/lib/modules/simulate.pmod
+++ b/lib/modules/Simulate.pmod
@@ -1,6 +1,7 @@
-import array_functions;
-import stdio;
-import string_functions;
+inherit Array;
+inherit Stdio;
+inherit String;
+inherit Process;
 
 #define error(X) throw( ({ (X), backtrace()[0..sizeof(backtrace())-2] }) )
 
@@ -32,10 +33,6 @@ function this_function()
   return backtrace()[-2][2];
 }
 
-string capitalize(string s)
-{
-  return upper_case(s[0..0])+s[1..sizeof(s)];
-}
 
 function get_function(object o, string a)
 {
diff --git a/lib/modules/stack.pmod b/lib/modules/Stack.pmod
similarity index 100%
rename from lib/modules/stack.pmod
rename to lib/modules/Stack.pmod
diff --git a/lib/modules/stdio.pmod b/lib/modules/Stdio.pmod
similarity index 100%
rename from lib/modules/stdio.pmod
rename to lib/modules/Stdio.pmod
diff --git a/lib/modules/string_functions.pmod b/lib/modules/String.pmod
similarity index 93%
rename from lib/modules/string_functions.pmod
rename to lib/modules/String.pmod
index fe0389432e04742663686b27928cf1337571c34b..ff35cc652155658607b005e280800796d4e42b6d 100644
--- a/lib/modules/string_functions.pmod
+++ b/lib/modules/String.pmod
@@ -15,6 +15,11 @@ string implode_nicely(string *foo, string|void and)
   }
 }
 
+string capitalize(string s)
+{
+  return upper_case(s[0..0])+s[1..sizeof(s)];
+}
+
 string strmult(string str, int num)
 {
 #if 1