add service functionality