refactor node content provider