basic node implementation (now in the correct branch)