HGraph class now can be used for any kind of graphs (edges can be added between nodes independently of tree structure