finished server.c