Resolve compilation issues (more accurate with headers)
diff --git a/helper/ccnb-parser/syntax-tree/ccnb-parser-attr.cc b/helper/ccnb-parser/syntax-tree/ccnb-parser-attr.cc
index e4baf54..bdc1f0a 100644
--- a/helper/ccnb-parser/syntax-tree/ccnb-parser-attr.cc
+++ b/helper/ccnb-parser/syntax-tree/ccnb-parser-attr.cc
@@ -19,7 +19,7 @@
  */
 
 #include "ccnb-parser-attr.h"
-#include "ns3/ccnb-parser-common.h"
+#include "../ccnb-parser-common.h"
 
 namespace ns3 {
 namespace CcnbParser {
diff --git a/helper/ccnb-parser/syntax-tree/ccnb-parser-blob.cc b/helper/ccnb-parser/syntax-tree/ccnb-parser-blob.cc
index 690f30d..159643f 100644
--- a/helper/ccnb-parser/syntax-tree/ccnb-parser-blob.cc
+++ b/helper/ccnb-parser/syntax-tree/ccnb-parser-blob.cc
@@ -18,7 +18,7 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#include "ns3/ccnb-parser-blob.h"
+#include "ccnb-parser-blob.h"
 
 namespace ns3 {
 namespace CcnbParser {
diff --git a/helper/ccnb-parser/syntax-tree/ccnb-parser-block.h b/helper/ccnb-parser/syntax-tree/ccnb-parser-block.h
index a188597..fe098ad 100644
--- a/helper/ccnb-parser/syntax-tree/ccnb-parser-block.h
+++ b/helper/ccnb-parser/syntax-tree/ccnb-parser-block.h
@@ -26,10 +26,10 @@
 #include "ns3/ptr.h"
 
 // visitors
-#include "ns3/ccnb-parser-void-no-argu-visitor.h"
-#include "ns3/ccnb-parser-void-visitor.h"
-#include "ns3/ccnb-parser-no-argu-visitor.h"
-#include "ns3/ccnb-parser-visitor.h"
+#include "../visitors/ccnb-parser-void-no-argu-visitor.h"
+#include "../visitors/ccnb-parser-void-visitor.h"
+#include "../visitors/ccnb-parser-no-argu-visitor.h"
+#include "../visitors/ccnb-parser-visitor.h"
 
 namespace ns3 {
 namespace CcnbParser {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-content-object-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-content-object-visitor.cc
index d562695..4325e67 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-content-object-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-content-object-visitor.cc
@@ -21,8 +21,9 @@
 #include "ccnb-parser-content-object-visitor.h"
 #include "ccnb-parser-name-components-visitor.h"
 
-#include "ns3/ccnb-parser-block.h"
-#include "ns3/ccnb-parser-dtag.h"
+#include "../syntax-tree/ccnb-parser-block.h"
+#include "../syntax-tree/ccnb-parser-dtag.h"
+
 #include "ns3/ccnx-name-components.h"
 #include "ns3/assert.h"
 
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-depth-first-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-depth-first-visitor.cc
index 514f444..9a89c19 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-depth-first-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-depth-first-visitor.cc
@@ -20,13 +20,13 @@
 
 #include "ccnb-parser-depth-first-visitor.h"
 
-#include "ns3/ccnb-parser-blob.h"
-#include "ns3/ccnb-parser-udata.h"
-#include "ns3/ccnb-parser-tag.h"
-#include "ns3/ccnb-parser-dtag.h"
-#include "ns3/ccnb-parser-attr.h"
-#include "ns3/ccnb-parser-dattr.h"
-#include "ns3/ccnb-parser-ext.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-udata.h"
+#include "../syntax-tree/ccnb-parser-tag.h"
+#include "../syntax-tree/ccnb-parser-dtag.h"
+#include "../syntax-tree/ccnb-parser-attr.h"
+#include "../syntax-tree/ccnb-parser-dattr.h"
+#include "../syntax-tree/ccnb-parser-ext.h"
 
 #include <boost/foreach.hpp>
 
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
index c436923..b7ccaba 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-interest-visitor.cc
@@ -20,9 +20,11 @@
 
 #include "ccnb-parser-interest-visitor.h"
 
-#include "ns3/ccnb-parser-block.h"
-#include "ns3/ccnb-parser-dtag.h"
+#include "../syntax-tree/ccnb-parser-block.h"
+#include "../syntax-tree/ccnb-parser-dtag.h"
+
 #include "ns3/ccnx-name-components.h"
+
 #include "ns3/assert.h"
 #include "ns3/nstime.h"
 
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
index 314cb68..80e49eb 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-name-components-visitor.cc
@@ -21,7 +21,7 @@
 #include "ccnb-parser-name-components-visitor.h"
 
 #include "ccnb-parser-string-visitor.h"
-#include "ns3/ccnb-parser-dtag.h"
+#include "../syntax-tree/ccnb-parser-dtag.h"
 #include "ns3/ccnx-name-components.h"
 
 namespace ns3 {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-no-argu-depth-first-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-no-argu-depth-first-visitor.cc
index f81a350..12264fd 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-no-argu-depth-first-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-no-argu-depth-first-visitor.cc
@@ -20,13 +20,13 @@
 
 #include "ccnb-parser-no-argu-depth-first-visitor.h"
 
-#include "ns3/ccnb-parser-blob.h"
-#include "ns3/ccnb-parser-udata.h"
-#include "ns3/ccnb-parser-tag.h"
-#include "ns3/ccnb-parser-dtag.h"
-#include "ns3/ccnb-parser-attr.h"
-#include "ns3/ccnb-parser-dattr.h"
-#include "ns3/ccnb-parser-ext.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-udata.h"
+#include "../syntax-tree/ccnb-parser-tag.h"
+#include "../syntax-tree/ccnb-parser-dtag.h"
+#include "../syntax-tree/ccnb-parser-attr.h"
+#include "../syntax-tree/ccnb-parser-dattr.h"
+#include "../syntax-tree/ccnb-parser-ext.h"
 
 #include <boost/foreach.hpp>
 
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-no-argu-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-no-argu-visitor.h
index ce3e712..95be166 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-no-argu-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-no-argu-visitor.h
@@ -21,7 +21,7 @@
 #ifndef _CCNB_PARSER_NO_ARGU_VISITOR_H_
 #define _CCNB_PARSER_NO_ARGU_VISITOR_H_
 
-#include "ns3/ccnb-parser-common.h"
+#include "../ccnb-parser-common.h"
 #include <boost/any.hpp>
 
 namespace ns3 {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-non-negative-integer-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-non-negative-integer-visitor.cc
index e393770..a9aed41 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-non-negative-integer-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-non-negative-integer-visitor.cc
@@ -20,8 +20,8 @@
 
 #include "ccnb-parser-non-negative-integer-visitor.h"
 
-#include "ns3/ccnb-parser-blob.h"
-#include "ns3/ccnb-parser-udata.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-udata.h"
 #include <sstream>
 
 namespace ns3 {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-nonce-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-nonce-visitor.cc
index 931f2fa..0102b0a 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-nonce-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-nonce-visitor.cc
@@ -19,7 +19,7 @@
  */
 
 #include "ccnb-parser-nonce-visitor.h"
-#include "ns3/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
 
 namespace ns3 {
 namespace CcnbParser {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-string-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-string-visitor.cc
index dfc61ed..6fb5e6b 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-string-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-string-visitor.cc
@@ -19,8 +19,8 @@
  */
 
 #include "ccnb-parser-string-visitor.h"
-#include "ns3/ccnb-parser-udata.h"
-#include "ns3/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-udata.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
 
 namespace ns3 {
 namespace CcnbParser {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-timestamp-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-timestamp-visitor.cc
index ea4ab00..4569bb9 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-timestamp-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-timestamp-visitor.cc
@@ -19,7 +19,7 @@
  */
 
 #include "ccnb-parser-timestamp-visitor.h"
-#include "ns3/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
 
 #include "ns3/nstime.h"
 
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-visitor.h
index e0fac3a..bc858eb 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-visitor.h
@@ -21,7 +21,7 @@
 #ifndef _CCNB_PARSER_VISITOR_H_
 #define _CCNB_PARSER_VISITOR_H_
 
-#include "ns3/ccnb-parser-common.h"
+#include "../ccnb-parser-common.h"
 #include <boost/any.hpp>
 
 namespace ns3 {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-depth-first-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-void-depth-first-visitor.cc
index 1c9a28a..05218b5 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-depth-first-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-depth-first-visitor.cc
@@ -20,13 +20,13 @@
 
 #include "ccnb-parser-void-depth-first-visitor.h"
 
-#include "ns3/ccnb-parser-blob.h"
-#include "ns3/ccnb-parser-udata.h"
-#include "ns3/ccnb-parser-tag.h"
-#include "ns3/ccnb-parser-dtag.h"
-#include "ns3/ccnb-parser-attr.h"
-#include "ns3/ccnb-parser-dattr.h"
-#include "ns3/ccnb-parser-ext.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-udata.h"
+#include "../syntax-tree/ccnb-parser-tag.h"
+#include "../syntax-tree/ccnb-parser-dtag.h"
+#include "../syntax-tree/ccnb-parser-attr.h"
+#include "../syntax-tree/ccnb-parser-dattr.h"
+#include "../syntax-tree/ccnb-parser-ext.h"
 
 #include <boost/foreach.hpp>
 
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-depth-first-visitor.cc b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-depth-first-visitor.cc
index 1944b2a..15519f2 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-depth-first-visitor.cc
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-depth-first-visitor.cc
@@ -20,13 +20,13 @@
 
 #include "ccnb-parser-void-no-argu-depth-first-visitor.h"
 
-#include "ns3/ccnb-parser-blob.h"
-#include "ns3/ccnb-parser-udata.h"
-#include "ns3/ccnb-parser-tag.h"
-#include "ns3/ccnb-parser-dtag.h"
-#include "ns3/ccnb-parser-attr.h"
-#include "ns3/ccnb-parser-dattr.h"
-#include "ns3/ccnb-parser-ext.h"
+#include "../syntax-tree/ccnb-parser-blob.h"
+#include "../syntax-tree/ccnb-parser-udata.h"
+#include "../syntax-tree/ccnb-parser-tag.h"
+#include "../syntax-tree/ccnb-parser-dtag.h"
+#include "../syntax-tree/ccnb-parser-attr.h"
+#include "../syntax-tree/ccnb-parser-dattr.h"
+#include "../syntax-tree/ccnb-parser-ext.h"
 
 #include <boost/foreach.hpp>
 
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
index ad0ff74..90aee97 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-no-argu-visitor.h
@@ -21,7 +21,7 @@
 #ifndef _CCNB_PARSER_VOID_NO_ARGU_VISITOR_H_
 #define _CCNB_PARSER_VOID_NO_ARGU_VISITOR_H_
 
-#include <ns3/ccnb-parser-common.h>
+#include "../ccnb-parser-common.h"
 
 namespace ns3 {
 namespace CcnbParser {
diff --git a/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h b/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
index 4fd228d..5ac08bf 100644
--- a/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
+++ b/helper/ccnb-parser/visitors/ccnb-parser-void-visitor.h
@@ -21,7 +21,7 @@
 #ifndef _CCNB_PARSER_VOID_VISITOR_H_
 #define _CCNB_PARSER_VOID_VISITOR_H_
 
-#include "ns3/ccnb-parser-common.h"
+#include "../ccnb-parser-common.h"
 #include <boost/any.hpp>
 
 namespace ns3 {
diff --git a/helper/ccnx-decoding-helper.cc b/helper/ccnx-decoding-helper.cc
index 408190b..4d4695c 100644
--- a/helper/ccnx-decoding-helper.cc
+++ b/helper/ccnx-decoding-helper.cc
@@ -23,11 +23,11 @@
 #include "ns3/ccnx-interest-header.h"
 #include "ns3/ccnx-content-object-header.h"
 
-#include "ns3/ccnb-parser-interest-visitor.h"
-#include "ns3/ccnb-parser-content-object-visitor.h"
-#include "ns3/ccnb-parser-block.h"
+#include "ccnb-parser/visitors/ccnb-parser-interest-visitor.h"
+#include "ccnb-parser/visitors/ccnb-parser-content-object-visitor.h"
 
-#include "ns3/ccnb-parser-dtag.h"
+#include "ccnb-parser/syntax-tree/ccnb-parser-block.h"
+#include "ccnb-parser/syntax-tree/ccnb-parser-dtag.h"
 
 #include "ns3/log.h"
 
diff --git a/helper/ccnx-encoding-helper.h b/helper/ccnx-encoding-helper.h
index bea5087..acce922 100644
--- a/helper/ccnx-encoding-helper.h
+++ b/helper/ccnx-encoding-helper.h
@@ -23,7 +23,7 @@
 
 #include <sys/types.h>
 
-#include "ns3/ccnb-parser-common.h"
+#include "ccnb-parser/ccnb-parser-common.h"
 #include "ns3/ptr.h"
 #include "ns3/nstime.h"
 #include "ns3/buffer.h"
diff --git a/helper/ccnx-stack-helper.cc b/helper/ccnx-stack-helper.cc
index 0809d58..2631be2 100644
--- a/helper/ccnx-stack-helper.cc
+++ b/helper/ccnx-stack-helper.cc
@@ -70,16 +70,17 @@
 #include "ns3/point-to-point-helper.h"
 
 #include "../model/ccnx-forwarding-strategy.h"
+#include "../model/ccnx-net-device-face.h"
+#include "../model/ccnx-l3-protocol.h"
+#include "../model/ccnx-fib.h"
 
-#include "ns3/ccnx-net-device-face.h"
-#include "ns3/ccnx-l3-protocol.h"
-#include "ns3/ccnx-fib.h"
 #include "ns3/node-list.h"
 #include "ns3/loopback-net-device.h"
 #include "ns3/global-router-interface.h"
 #include "ns3/ipv4.h"
 #include "ns3/ipv4-global-routing.h"
-#include "ns3/ipv4-global-routing-ordered-nexthops.h"
+#include "../utils/ipv4-global-routing-ordered-nexthops.h"
+
 #include "ns3/ipv4-routing-helper.h"
 #include "ns3/ipv4-global-routing-helper.h"
 #include "ns3/data-rate.h"