Added Generic Serivce implementation