Added requirements for optional arguments and default for port argument