hostname implementation