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