service implementation fixed