consolidated into a single node class