adding support for IP Host
move interfaces from abstract to concrete class