made more dependant on provided port