diff --git a/1.3/ArmnnDriverImpl.hpp b/1.3/ArmnnDriverImpl.hpp
new file mode 100644
index 0000000..8a665ea
--- /dev/null
+++ b/1.3/ArmnnDriverImpl.hpp
@@ -0,0 +1,40 @@
+//
+// Copyright © 2020 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <HalInterfaces.h>
+
+#include "../DriverOptions.hpp"
+
+#include <armnn/ArmNN.hpp>
+
+using namespace android::nn::hal;
+
+namespace V1_0 = ::android::hardware::neuralnetworks::V1_0;
+namespace V1_2 = ::android::hardware::neuralnetworks::V1_2;
+namespace V1_3 = ::android::hardware::neuralnetworks::V1_3;
+
+namespace armnn_driver
+{
+namespace hal_1_3
+{
+
+class ArmnnDriverImpl
+{
+public:
+    static Return<V1_3::ErrorStatus> prepareArmnnModel_1_3(const armnn::IRuntimePtr& runtime,
+                                                           const armnn::IGpuAccTunedParametersPtr& clTunedParameters,
+                                                           const DriverOptions& options,
+                                                           const V1_3::Model& model,
+                                                           const android::sp<V1_3::IPreparedModelCallback>& cb,
+                                                           bool float32ToFloat16 = false);
+
+    static Return<void> getCapabilities_1_3(const armnn::IRuntimePtr& runtime,
+                                            V1_3::IDevice::getCapabilities_1_3_cb cb);
+};
+
+} // namespace hal_1_3
+} // namespace armnn_driver
\ No newline at end of file
