refactor Service API