Need to add tri-node restructure to ensure the height balance of the tree as well as re-implement parser to read tabbed input file