refactoring NG