refactor create node