BaseService class refactored