separated the code into client, controller, and server