singleThreadMoveOneByOne