Implement node factory