custom node manipulator framework