Done with the implementation of the server for the most part