Feature/insert node

implement insertNode.

merge #559 first.