server code and public classes