only check for reuse once in a cycle
set position before reuse