add node logic