interim commit for tree implementation. may break some things