adding the concept of a node