Code refactor, added a new base class for all the services