Second revision without magic ips