Redid smart ptrs