almst done with server.c