don't clobber the order of elements