changing new_server to return a pointer to a struct