a basic version of server and client added