Finished Refactoring the Client