fixed bug in op*, smart ptrs removed