added ServiceDelegate