implement node add