Add AddNode and RemoveNode
Fix edge case bug, add more test to make 100% coverage
Add AddWeightedNode