custom param restructure