update versioning
diff --git a/nlsr.c b/nlsr.c
index 3895e5f..49bda4a 100644
--- a/nlsr.c
+++ b/nlsr.c
@@ -342,8 +342,9 @@
 	nlsr->in_content.p = &incoming_content;
 
 	nlsr->lsdb=(struct linkStateDatabase *)malloc(sizeof(struct linkStateDatabase *));
-	nlsr->lsdb->version=(char *)malloc(16);
-	nlsr->lsdb->version="0000000000000000";
+	//nlsr->lsdb->version=(char *)malloc(16);
+	//nlsr->lsdb->version="0000000000000000";
+	nlsr->lsdb->version=0;
 
 	nlsr->lsdb->adj_lsdb = hashtb_create(sizeof(struct adj_lsa), &param_adj_lsdb);
 	nlsr->lsdb->name_lsdb = hashtb_create(sizeof(struct name_lsa), &param_name_lsdb);
diff --git a/nlsr.h b/nlsr.h
index 11635fc..c491089 100644
--- a/nlsr.h
+++ b/nlsr.h
@@ -15,13 +15,13 @@
 	struct name_prefix *neighbor;
 	int face;
 	int status;
-	char *last_lsdb_version;
+	long int last_lsdb_version;
 	struct hashtb *lsa_update_queue;
 };
 
 struct linkStateDatabase
 {
-	char *version;
+	long int version;
 	struct hashtb *adj_lsdb;
 	struct hashtb *name_lsdb;
 };
diff --git a/nlsr_adl.c b/nlsr_adl.c
index 1be3fc2..6b5a4ba 100644
--- a/nlsr_adl.c
+++ b/nlsr_adl.c
@@ -45,13 +45,14 @@
 		hnbr->neighbor=(struct name_prefix *)malloc(sizeof(struct name_prefix *));
 		hnbr->neighbor->name=(char *)malloc(nbr->neighbor->length);
 		memcpy(hnbr->neighbor->name,nbr->neighbor->name,nbr->neighbor->length);
-		hnbr->last_lsdb_version=(char *)malloc(15);
+		//hnbr->last_lsdb_version=(char *)malloc(15);
 
 		hnbr->neighbor->length=nbr->neighbor->length;
 		hnbr->face=nbr->face;
 		hnbr->status=nbr->status;
-		memcpy(hnbr->last_lsdb_version,"00000000000000",14);
-		memcpy(hnbr->last_lsdb_version+strlen(hnbr->last_lsdb_version),"\0",1);
+		//memcpy(hnbr->last_lsdb_version,"00000000000000",14);
+		//memcpy(hnbr->last_lsdb_version+strlen(hnbr->last_lsdb_version),"\0",1);
+		hnbr->last_lsdb_version=0;
 
 		struct hashtb_param param_luq = {0};
 		hnbr->lsa_update_queue=hashtb_create(200, &param_luq);
@@ -80,7 +81,7 @@
 	for(i=0;i<adl_element;i++)
 	{
 		nbr=e->data;
-		printf("Neighbor: %s Length: %d Face: %d Status: %d LSDB Version: %s \n",nbr->neighbor->name,nbr->neighbor->length,nbr->face, nbr->status, nbr->last_lsdb_version);	
+		printf("Neighbor: %s Length: %d Face: %d Status: %d LSDB Version: %ld \n",nbr->neighbor->name,nbr->neighbor->length,nbr->face, nbr->status, nbr->last_lsdb_version);	
 		hashtb_next(e);		
 	}
 
@@ -119,7 +120,7 @@
 
 
 void 
-update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, char *version)
+update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, long int version)
 {
 	printf("update_adjacent_status_to_adl called \n");
 
@@ -135,7 +136,8 @@
 	if( res == HT_OLD_ENTRY )
 	{
 		nnbr=e->data;
-		memcpy(nnbr->last_lsdb_version,version,strlen(version)+1);
+		nnbr->last_lsdb_version = version;
+		//memcpy(nnbr->last_lsdb_version,version,strlen(version)+1);
 	}
 	else if(res == HT_NEW_ENTRY)
 	{
diff --git a/nlsr_adl.h b/nlsr_adl.h
index 1803a14..cd25524 100644
--- a/nlsr_adl.h
+++ b/nlsr_adl.h
@@ -4,6 +4,6 @@
 void add_adjacent_to_adl(struct ndn_neighbor *nbr);
 void print_adjacent_from_adl(void);
 void update_adjacent_status_to_adl(struct ccn_charbuf *nbr, int status);
-void update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, char *version);
+void update_adjacent_lsdb_version_to_adl(struct ccn_charbuf *nbr, long int version);
 
 #endif
diff --git a/nlsr_ndn.c b/nlsr_ndn.c
index 43ca77b..224294b 100644
--- a/nlsr_ndn.c
+++ b/nlsr_ndn.c
@@ -355,17 +355,21 @@
 		/* Now comp points to the start of your potential number, and size is its length */
 	}
 
-	int dbcmp=strncmp(nlsr->lsdb->version,(char *)comp,16);
+	int excl_db_version=atoi((char *)comp);
+	int dbcmp=nlsr->lsdb->version-excl_db_version;
+	//int dbcmp=strncmp(nlsr->lsdb->version,(char *)comp,16);
+
+	
 
 	printf (" dbcmp = %d \n",dbcmp);	
 
 	if(dbcmp > 0)
 	{
-		printf("Has Updated database (Older: %s New: %s)\n",comp,nlsr->lsdb->version);
+		printf("Has Updated database (Older: %s New: %ld)\n",comp,nlsr->lsdb->version);
 	}
 	else 
 	{
-		printf("Data base is not updated than the older one (Older: %s New: %s)\n",comp,nlsr->lsdb->version);
+		printf("Data base is not updated than the older one (Older: %s New: %ld)\n",comp,nlsr->lsdb->version);
 		printf("Sending NACK Content back.....\n");
 
 		struct ccn_charbuf *data=ccn_charbuf_create();
@@ -432,12 +436,12 @@
 	for(i=0;i<adl_element;i++)
 	{
 		nbr=e->data;
-		printf("Sending interest for name prefix:%s/%s/%s/%s\n",nbr->neighbor->name,nlsr_str,lsdb_str,rnumstr);	
+		printf("Sending interest for name prefix:%s/%s/%s\n",nbr->neighbor->name,nlsr_str,lsdb_str);	
 		name=ccn_charbuf_create();
 		res=ccn_name_from_uri(name,nbr->neighbor->name);
 		ccn_name_append_str(name,nlsr_str);
 		ccn_name_append_str(name,lsdb_str);
-		ccn_name_append_str(name,rnumstr);
+		//ccn_name_append_str(name,rnumstr);
 
 		/* adding Exclusion filter */