converted ALL Moperator and derivative (so to speak) objects to pointers, code works