better host/port parser