complete BaseService