the scoped_ptr arg needs an explicit constructor