finish client and server(awesome!)