restructured the server