accept optional hostname argument