add scoped_ptr.h