add scoped_ptr