used beginMoveRows and endMoveRows to achieve reparenting nodes without resetting the whole model