Cleaning up the implementation. more conversions to services