many many many... refactoring, few new tests, added services, some changes in pagination