replaced smart pointers with regular dummy pointers