not all assignments should be moved out of loops