added optional command line argument for port