more node refactoring