tasks 2 and 3 from TreesAndTraversals