improvement in preorder