accept user-specified port