add missing include for std::unique_pointer