interface separated between the client and the server