Index: source/ariba/utility/serialization/Data.hpp
===================================================================
--- source/ariba/utility/serialization/Data.hpp	(revision 2390)
+++ source/ariba/utility/serialization/Data.hpp	(revision 3690)
@@ -1,3 +1,3 @@
-// [Licence]
+// [License]
 // The Ariba-Underlay Copyright
 //
@@ -35,5 +35,5 @@
 // official policies, either expressed or implied, of the Institute of
 // Telematics.
-// [Licence]
+// [License]
 
 #ifndef DATA_HPP_
Index: source/ariba/utility/serialization/DataStream.hpp
===================================================================
--- source/ariba/utility/serialization/DataStream.hpp	(revision 2390)
+++ source/ariba/utility/serialization/DataStream.hpp	(revision 3690)
@@ -1,3 +1,3 @@
-// [Licence]
+// [License]
 // The Ariba-Underlay Copyright
 //
@@ -35,5 +35,5 @@
 // official policies, either expressed or implied, of the Institute of
 // Telematics.
-// [Licence]
+// [License]
 
 #ifndef DATASTREAM_HPP_
@@ -42,4 +42,6 @@
 //== Library includes ==
 #include <boost/cstdint.hpp>
+#include <boost/type_traits/make_unsigned.hpp>
+
 #include <iostream>
 #include <vector>
@@ -153,4 +155,22 @@
 	template<typename X>
 	finline void remove(X& obj, if_uint(X)) {
+		if (!isMeasure()) bits[index].get(obj);
+		index += sizeof(X) * 8;
+	}
+
+	/* support signed ints */
+	template<typename X>
+	finline void add(X& sobj, if_int(X)) {
+		typedef typename boost::make_unsigned<X>::type UX;
+		UX& obj = *((UX*)&sobj);
+		if (!isMeasure())
+		bitcpy( sobj, 0, bits.getBuffer(), index);
+		index += sizeof(X) * 8;
+	}
+
+	template<typename X>
+	finline void remove(X& sobj, if_int(X)) {
+		typedef typename boost::make_unsigned<X>::type UX;
+		UX& obj = *((UX*)&sobj);
 		if (!isMeasure()) bits[index].get(obj);
 		index += sizeof(X) * 8;
Index: source/ariba/utility/serialization/DataUtilities.hpp
===================================================================
--- source/ariba/utility/serialization/DataUtilities.hpp	(revision 2390)
+++ source/ariba/utility/serialization/DataUtilities.hpp	(revision 3690)
@@ -1,3 +1,3 @@
-// [Licence]
+// [License]
 // The Ariba-Underlay Copyright
 //
@@ -35,5 +35,5 @@
 // official policies, either expressed or implied, of the Institute of
 // Telematics.
-// [Licence]
+// [License]
 
 /* This file implements some common bit operations for unsigned integer types
Index: source/ariba/utility/serialization/Serialization.cpp
===================================================================
--- source/ariba/utility/serialization/Serialization.cpp	(revision 2390)
+++ source/ariba/utility/serialization/Serialization.cpp	(revision 3690)
@@ -1,3 +1,3 @@
-// [Licence]
+// [License]
 // The Ariba-Underlay Copyright
 //
@@ -35,5 +35,5 @@
 // official policies, either expressed or implied, of the Institute of
 // Telematics.
-// [Licence]
+// [License]
 
 #include "Serialization.hpp"
Index: source/ariba/utility/serialization/Serialization.hpp
===================================================================
--- source/ariba/utility/serialization/Serialization.hpp	(revision 2390)
+++ source/ariba/utility/serialization/Serialization.hpp	(revision 3690)
@@ -1,3 +1,3 @@
-// [Licence]
+// [License]
 // The Ariba-Underlay Copyright
 //
@@ -35,5 +35,5 @@
 // official policies, either expressed or implied, of the Institute of
 // Telematics.
-// [Licence]
+// [License]
 
 #ifndef SERIALIZATION_HPP_
Index: source/ariba/utility/serialization/TestSerialization.cpp
===================================================================
--- source/ariba/utility/serialization/TestSerialization.cpp	(revision 2390)
+++ source/ariba/utility/serialization/TestSerialization.cpp	(revision 3690)
@@ -1,3 +1,3 @@
-// [Licence]
+// [License]
 // The Ariba-Underlay Copyright
 //
@@ -35,5 +35,5 @@
 // official policies, either expressed or implied, of the Institute of
 // Telematics.
-// [Licence]
+// [License]
 
 #include "Data.hpp"
