add new service to reduce ctrl logic