pre - dnode refactor