add basic server and client