any reason not to use unique_ptr here?