base service class