adding optional --port argument