loads of refactoring and did some more work on implementing the service