diff --git a/p/daemon/iplookup.c b/p/daemon/iplookup.c
index 724f261..7f04ba8 100644
--- a/p/daemon/iplookup.c
+++ b/p/daemon/iplookup.c
@@ -63,7 +63,7 @@
 
 // IMPLEMENTATION
 
-public void create() {
+protected void create() {
 	seteuid(getuid());
 	restore_object( IPLOOKUP_SAVE );
 
@@ -136,7 +136,7 @@
  * @return den Ort (oder das Land) in dem sich die ip-adresse
  * laut externem Server befindet.
  */
-public string country( mixed ipnum ) {
+public string country( string|object ipnum ) {
 	string host,city;
 	int expire,state;
 
@@ -160,7 +160,7 @@
  * @return den Hostnamen der zu der angegebenen ip-adresse gehoert.
  * wenn der hostname nicht bekannt ist, wird die ipadresse zurueckgegeben.
  */
-public string host( mixed ipnum ) {
+public string host( string|object ipnum ) {
 	string host,city;
 	int expire,state;
 
diff --git a/secure/simul_efun/query_ip_name.c b/secure/simul_efun/query_ip_name.c
index 0c16636..222fd26 100644
--- a/secure/simul_efun/query_ip_name.c
+++ b/secure/simul_efun/query_ip_name.c
@@ -35,7 +35,7 @@
   return _query_ip_number(ob);
 }
 
-string query_ip_name(mixed ob)
+public string query_ip_name(string|object ob)
 {
   if ( !ob || objectp(ob) )
       ob=query_ip_number(ob);
diff --git a/secure/simul_efun/spare/query_ip_name.c b/secure/simul_efun/spare/query_ip_name.c
index 0c16636..222fd26 100644
--- a/secure/simul_efun/spare/query_ip_name.c
+++ b/secure/simul_efun/spare/query_ip_name.c
@@ -35,7 +35,7 @@
   return _query_ip_number(ob);
 }
 
-string query_ip_name(mixed ob)
+public string query_ip_name(string|object ob)
 {
   if ( !ob || objectp(ob) )
       ob=query_ip_number(ob);
