add some port detection