added service interface generation