moved more functions to node class