diff --git a/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h b/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h
index 6d8e86368d1b380216f86fb04749ca4be6cb5f10..0dba23c60523c44e66e219442d6bb8cd55fa4a1e 100644
--- a/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h
+++ b/ipaacalib/cpp/include/ipaaca/ipaaca-payload.h
@@ -329,14 +329,18 @@ IPAACA_HEADER_EXPORT class PayloadEntryProxy//{{{
 {
 	friend class Payload;
 	friend class PayloadIterator;
+	friend class PayloadDocumentEntry;
+	friend class PayloadEntryProxyListDecorator;
+	friend class PayloadEntryProxyListIterator;
+	friend class PayloadEntryProxyMapDecorator;
+	friend class PayloadEntryProxyMapIterator;
 	friend std::ostream& operator<<(std::ostream& os, const PayloadEntryProxy& proxy);
-	protected:
 	public:
 		/// Select map-style iteration for this proxy (to select iterator content type). Will throw if not actually map-type. See example in the class description.
 		IPAACA_HEADER_EXPORT PayloadEntryProxyMapDecorator as_map();
 		/// Select list-style iteration for this proxy (to select iterator content type). Will throw if not actually list-type. See example in the class description.
 		IPAACA_HEADER_EXPORT PayloadEntryProxyListDecorator as_list();
-	public:
+	protected:
 		//IPAACA_MEMBER_VAR_EXPORT rapidjson::Document* _json_parent_node;
 		//IPAACA_MEMBER_VAR_EXPORT rapidjson::Document* _json_node;
 		IPAACA_MEMBER_VAR_EXPORT Payload* _payload;