adding service interface, cleanup