Security implemented + Partial publish
diff --git a/js/Interest.js b/js/Interest.js
index 3c46887..ab20de1 100644
--- a/js/Interest.js
+++ b/js/Interest.js
@@ -3,15 +3,14 @@
  * This class represents Interest Objects
  */
 
-var Interest = function Interest(_Name,_FaceInstance,_MinSuffixComponents,_MaxSuffixComponents,_PublisherPublicKeyDigest, _Exclude, _ChildSelector,_AnswerOriginKind,_Scope,_InterestLifetime,_Nonce){
-	
-	//Setting fields
+var Interest = function Interest(_Name,_FaceInstance,_MinSuffixComponents,_MaxSuffixComponents,_PublisherID, _Exclude, _ChildSelector,_AnswerOriginKind,_Scope,_InterestLifetime,_Nonce){
+		
 	this.Name = _Name;
 	this.FaceInstance = _FaceInstance;
 	this.MaxSuffixComponents = _MaxSuffixComponents;
 	this.MinSuffixComponents = _MinSuffixComponents;
 	
-	this.PublisherKeyDigest = _PublisherPublicKeyDigest;
+	this.PublisherID = _PublisherID;
 	this.Exclude = _Exclude;
 	this.ChildSelector = _ChildSelector;
 	this.AnswerOriginKind = _AnswerOriginKind;
@@ -49,10 +48,10 @@
 		}
 			
 		//TODO decode PublisherID
-		/*if (PublisherID.peek(decoder)) {
+		if (PublisherID.peek(decoder)) {
 			this.Publisher = new PublisherID();
 			this.Publisher.decode(decoder);
-		}*/
+		}
 
 		if (decoder.peekStartElement(CCNProtocolDTags.Exclude)) {
 			this.Exclude = new Exclude();
@@ -84,9 +83,7 @@
 };
 
 Interest.prototype.encode = function(/*XMLEncoder*/ encoder){
-		/*if (!validate()) {
-			throw new ContentEncodingException("Cannot encode " + this.getClass().getName() + ": field values missing.");
-		}*/
+		//Could check if name is present
 		
 		encoder.writeStartElement(CCNProtocolDTags.Interest);
 		
@@ -100,20 +97,20 @@
 
 		//TODO Encode PublisherID
 		
-		/*if (null != this.PublisherID)
-			publisherID().encode(encoder);*/
+		if (null != this.PublisherID)
+			publisherID().encode(encoder);
 		
 		//TODO Encode Exclude
 		
-		//if (null != this.Exclude)
-			//exclude().encode(encoder);
+		if (null != this.Exclude)
+			exclude().encode(encoder);
 		
 		if (null != this.ChildSelector) 
 			encoder.writeElement(CCNProtocolDTags.ChildSelector, this.ChildSelector);
 
 		//TODO Encode OriginKind
 		if (this.DEFAULT_ANSWER_ORIGIN_KIND != this.AnswerOriginKind && this.AnswerOriginKind!=null) 
-			//encoder.writeElement(CCNProtocolDTags.AnswerOriginKind, this.AnswerOriginKind);
+			encoder.writeElement(CCNProtocolDTags.AnswerOriginKind, this.AnswerOriginKind);
 		
 		if (null != this.Scope) 
 			encoder.writeElement(CCNProtocolDTags.Scope, this.Scope);