add nodes manipulation