diff --git a/power-supply/average.hpp b/power-supply/average.hpp
new file mode 100644
index 0000000..817f0bf
--- /dev/null
+++ b/power-supply/average.hpp
@@ -0,0 +1,57 @@
+#pragma once
+#include <functional>
+#include <org/open_power/Sensor/Aggregation/History/Average/server.hpp>
+
+namespace witherspoon
+{
+namespace power
+{
+namespace history
+{
+
+template <typename T>
+using ServerObject = typename sdbusplus::server::object::object<T>;
+
+using AverageInterface = sdbusplus::org::open_power::
+        Sensor::Aggregation::History::server::Average;
+
+/**
+ * @class Average
+ *
+ * Implements Sensor.Aggregation.History.Average
+ *
+ * This includes a property that is an array of timestamp/average tuples
+ * and a property to specify the scale.
+ */
+class Average : public ServerObject<AverageInterface>
+{
+    public:
+
+        static constexpr auto name = "average";
+
+        Average() = delete;
+        Average(const Average&) = delete;
+        Average& operator=(const Average&) = delete;
+        Average(Average&&) = delete;
+        Average& operator=(Average&&) = delete;
+        ~Average() = default;
+
+        /**
+         * @brief Constructor
+         *
+         * @param[in] bus - D-Bus object
+         * @param[in] objectPath - the D-Bus object path
+         */
+        Average(sdbusplus::bus::bus& bus,
+                const std::string& objectPath) :
+                ServerObject<AverageInterface>(bus, objectPath.c_str())
+        {
+            unit(Average::Unit::Watts);
+            scale(0);
+        }
+};
+
+
+}
+}
+}
