Add preorder traversal function