pushing more functionality to services