first pass at the server