rearrange, update generic model