refactor Service/Cache