--- a/libupnpp/control/ohproduct.hxx
+++ b/libupnpp/control/ohproduct.hxx
@@ -17,15 +17,18 @@
#ifndef _OHPRODUCT_HXX_INCLUDED_
#define _OHPRODUCT_HXX_INCLUDED_
-#include <string>
-#include <memory>
-#include <vector>
+#include <memory> // for shared_ptr
+#include <string> // for string
+#include <vector> // for vector
-#include "service.hxx"
+#include "service.hxx" // for Service
+
+namespace UPnPClient { class OHProduct; }
+namespace UPnPClient { class UPnPDeviceDesc; }
+namespace UPnPClient { class UPnPServiceDesc; }
namespace UPnPClient {
-class OHProduct;
typedef std::shared_ptr<OHProduct> OHPRH;
/**