without the scoped_ptr you're leaking when this errors.