updated the generic service class