prepare for setf