complete binary tree implementation with traversals left to write