restructure of custom param