updated complex service generation for edit
edit logic passed to controller