Initial work on the server implementation