added class constraint for generic service type parameters