ipaddress abstraction added