add node IF and some utils method