work on refactor services and tests