retain only the core service functions