basic client and server are both working