variable reordering