Refactor and enhance server
Make the port a command line argument
Update documentation