introduce ProjNodeCraft
introduce ProjNode