switch from unique to shared ptr
fix typo