add basic node implementation.

merge node stuff in