Node class refactor