global refactoring, improvement, add FutureResponse class for server answer, add tests