diff --git a/occ_finder.hpp b/occ_finder.hpp
index c096c4b..557d468 100644
--- a/occ_finder.hpp
+++ b/occ_finder.hpp
@@ -11,6 +11,15 @@
 namespace finder
 {
 
+// Map of property and interface
+// This is used to filter the OCCs based on the property value
+using Interface = std::string;
+using Property = std::string;
+
+using Value = bool;
+using Match = std::tuple<Interface, Property, Value>;
+using Criteria = std::vector<Match>;
+
 /** @brief Get OCC objects on the system by mapping them to CPU inventory
   * @returns vector of occ objects, such as occ0, occ1, and so on.
   *
@@ -18,6 +27,39 @@
   */
 std::vector<std::string> get(sdbusplus::bus::bus& bus);
 
+/** @brief Returns true if the inventory item matches the criteria
+ *
+ *  @param[in] bus      - sdbusplus handler
+ *  @param[in] path     - D-Bus path
+ *  @param[in] service  - D-Bus service name
+ *  @param[in] match    - Criteria match vector
+ *
+ *  @return true on match, false otherwise
+ */
+bool matchCriteria(sdbusplus::bus::bus& bus,
+                   const std::string& path,
+                   const std::string& service,
+                   const Criteria& match);
+
+/** @brief Gets the value associated with the given object
+ *         and the interface.
+ *
+ *  @param[in] bus       - sdbusplus handler
+ *  @param[in] service   - D-Bus service name.
+ *  @param[in] objPath   - D-Bus object path.
+ *  @param[in] interface - D-Bus interface.
+ *  @param[in] property  - Name of the property.
+ *
+ *  @return Value of the property
+ */
+
+template <typename T>
+T getDbusProperty(sdbusplus::bus::bus& bus,
+                  const std::string& service,
+                  const std::string& objPath,
+                  const std::string& interface,
+                  const std::string& property);
+
 } // namespace finder
 } // namespace occ
 } // namespace open_power
