[Node] implementation + tests