nodal change refactor (part way)