add functionality to tree node with tests
remove node specific functionalities from heap, some unrelated refactors