make logicnot work with pointers; make add/sub work with unique pointers