use net.SplitHostPort instead of parsing string self