start of node class