refactor the path and id generation
modify the declarative service generation