changed service implementation