Index: source/ariba/SpoVNetProperties.cpp
===================================================================
--- source/ariba/SpoVNetProperties.cpp	(revision 2439)
+++ source/ariba/SpoVNetProperties.cpp	(revision 2440)
@@ -43,3 +43,55 @@
 const SpoVNetProperties SpoVNetProperties::DEFAULT;
 
+SpoVNetProperties::SpoVNetProperties() :
+		name( Name::random() ), type( ONE_HOP_OVERLAY ), idLength( 192 ),
+		initiator( NodeID::UNSPECIFIED ), hidden( false ) {
+
+	id = name.toSpoVNetId();
 }
+
+SpoVNetProperties::SpoVNetProperties(const SpoVNetProperties& copy) :
+		name( copy.name ), id( copy.id ), 
+		type( copy.type ), idLength( copy.idLength ),
+		initiator( copy.initiator ), hidden( copy.hidden ) {
+}
+
+SpoVNetProperties::~SpoVNetProperties() {
+}
+
+const Name& SpoVNetProperties::getName() const {
+	return name;
+}
+
+const SpoVNetID& SpoVNetProperties::getId() const {
+	return id;
+}
+
+const NodeID& SpoVNetProperties::getInitiator() const {
+	return initiator;
+}
+
+uint16_t SpoVNetProperties::getIdentifierLength() const {
+	return idLength;
+}
+
+const SpoVNetProperties::OverlayType SpoVNetProperties::getBaseOverlayType() const {
+	return (OverlayType)type;
+}
+
+bool SpoVNetProperties::isHidden() const {
+	return hidden;
+}
+
+std::string SpoVNetProperties::toString() const {
+	std::ostringstream buf;
+	buf << "spovnet"
+		<< " name=" << name.toString()
+		<< " id=" << id.toString()
+		<< " overlay_type=" << type 
+		<< " id_length=" << idLength 
+		<< " initiator=" << initiator
+		<< " hidden=" << hidden;
+	return buf.str();
+}
+
+} // namespace ariba
Index: source/ariba/SpoVNetProperties.h
===================================================================
--- source/ariba/SpoVNetProperties.h	(revision 2439)
+++ source/ariba/SpoVNetProperties.h	(revision 2440)
@@ -70,31 +70,16 @@
 		KADEMLIA_OVERLAY = 2,
 	};
-private:
-	Name name;
-	SpoVNetID id;
-	uint8_t  type;
-	uint16_t idLength;
-	NodeID initiator;
-	bool hidden;
 
-public:
+
 	/**
 	 * This object holds the default settings for a newly created spovnet
 	 * instance.
 	 */
-	const static SpoVNetProperties DEFAULT;
+	static const SpoVNetProperties DEFAULT;
 
-public:
 	/**
 	 * Constructs a new default SpoVnet property object.
 	 */
-	SpoVNetProperties() {
-		name = Name::random();
-		id = name.toSpoVNetId();
-		type = ONE_HOP_OVERLAY;
-		idLength = 192;
-		initiator = NodeID::UNSPECIFIED;
-		hidden = false;
-	}
+	SpoVNetProperties();
 
 	/**
@@ -113,32 +98,20 @@
 	 * Copy constructor.
 	 */
-	SpoVNetProperties(const SpoVNetProperties& copy) {
-		this->name = copy.name;
-		this->id = copy.id;
-		this->type = copy.type;
-		this->idLength = copy.idLength;
-		this->initiator = copy.initiator;
-		this->hidden = copy.hidden;
-	}
+	SpoVNetProperties(const SpoVNetProperties& copy);
 
 	/**
 	 * Destructor.
 	 */
-	~SpoVNetProperties() {
-	}
+	virtual ~SpoVNetProperties();
 
 	/**
 	 * Returns the canonical SpoVNet name
 	 */
-	const Name& getName() const {
-		return name;
-	}
+	const Name& getName() const;
 
 	/**
 	 * Returns the SpoVNet id
 	 */
-	const SpoVNetID& getId() const {
-		return id;
-	}
+	const SpoVNetID& getId() const;
 
 	/**
@@ -146,28 +119,20 @@
 	 * If the node id is unspecified, the initiator wanted to be anonymous.
 	 */
-	const NodeID& getInitiator() const {
-		return initiator;
-	}
+	const NodeID& getInitiator() const;
 
 	/**
 	 * Returns the node identifier length in bites
 	 */
-	uint16_t getIdentifierLength() const {
-		return idLength;
-	}
+	uint16_t getIdentifierLength() const;
 
 	/**
 	 * Returns the overlay type.
 	 */
-	const OverlayType getBaseOverlayType() const {
-		return (OverlayType)type;
-	}
+	const OverlayType getBaseOverlayType() const;
 
 	/**
 	 * Returns true, if the spovnet is hidden
 	 */
-	bool isHidden() const {
-		return hidden;
-	}
+	bool isHidden() const;
 
 	/**
@@ -176,17 +141,16 @@
 	 * @return A human readable string representation of the SpoVNet properties
 	 */
-	std::string toString() const {
-		std::ostringstream buf;
-		buf << "spovnet"
-			<< " name=" << name.toString()
-			<< " id=" << id.toString()
-				<< " base_overlay_type=" << type << " id_length="
-				<< idLength << " initiator=" << initiator
-				<< " hidden=" << hidden;
-		return buf.str();
-	}
+	std::string toString() const;
+
+private:
+	Name name;
+	SpoVNetID id;
+	uint8_t  type;
+	uint16_t idLength;
+	NodeID initiator;
+	bool hidden;
 };
 
-}
+} // namespace ariba
 
 #endif /* SPOVNETPROPERTIES_H_ */
