implemented authentication, refactoring server communication through ServerTool/RequestResult