added pre order traversal, in preparation for finishing copy constructor, which relies on pre order traversal