dynamically set port