improved reproduction, cout removal, analysis of trees, and functions now use pointers