diff --git a/Makefile b/Makefile
index fad396f..94d2529 100644
--- a/Makefile
+++ b/Makefile
@@ -6,8 +6,8 @@
 
 all: $(PROGRAMS)
 
-nlsr: nlsr.c nlsr_ndn.c utility.c
-	$(CC) $(CFLAGS) nlsr.c nlsr_adl.c nlsr_ndn.c utility.c -o nlsr $(LIBS)
+nlsr: nlsr.c nlsr_adl.c nlsr_lsdb.c nlsr_ndn.c utility.c
+	$(CC) $(CFLAGS) nlsr.c nlsr_adl.c nlsr_lsdb.c nlsr_ndn.c utility.c -o nlsr $(LIBS)
 
 clean:
 	rm -f *.o
diff --git a/nlsr.c b/nlsr.c
index 6dc8fb7..b3d38e9 100644
--- a/nlsr.c
+++ b/nlsr.c
@@ -21,6 +21,7 @@
 #include "nlsr_ndn.h"
 #include "utility.h"
 #include "nlsr_adl.h"
+#include "nlsr_lsdb.h"
 
 
 struct option longopts[] =
@@ -319,15 +320,14 @@
 
 }
 
-
-int 
-main(int argc, char *argv[])
+void
+init_nlsr(void)
 {
-    	int res;
-    	char *config_file;
-	int daemon_mode;
 	struct hashtb_param param_adl = {0};
 	struct hashtb_param param_npl = {0};
+
+	struct hashtb_param param_adj_lsdb = {0};
+	struct hashtb_param param_name_lsdb = {0};
 	
 	nlsr=(struct nlsr *)malloc(sizeof(struct nlsr));
 
@@ -340,10 +340,23 @@
 	nlsr->lsdb->version=(char *)malloc(16);
 	nlsr->lsdb->version="0000000000000000";
 
+	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);
+
 	nlsr->is_synch_init=1;
 	nlsr->nlsa_id=0;
 
+}
+
+int 
+main(int argc, char *argv[])
+{
+    	int res;
+    	char *config_file;
+	int daemon_mode;
 	struct ccn_charbuf *router_prefix;	
+
+	init_nlsr();
     	
 	while ((res = getopt_long(argc, argv, "df:h", longopts, 0)) != -1) 
 	{
diff --git a/nlsr.h b/nlsr.h
index 19c77bb..11635fc 100644
--- a/nlsr.h
+++ b/nlsr.h
@@ -22,7 +22,8 @@
 struct linkStateDatabase
 {
 	char *version;
-	struct hashtb *db;
+	struct hashtb *adj_lsdb;
+	struct hashtb *name_lsdb;
 };
 
 struct nlsr
@@ -48,6 +49,7 @@
 
 struct nlsr *nlsr;
 
+void init_nlsr(void);
 
 void ndn_rtr_gettime(const struct ccn_gettime *self, struct ccn_timeval *result);
 void process_command_router_name(char *command);
diff --git a/nlsr_lsdb.h b/nlsr_lsdb.h
new file mode 100644
index 0000000..21826e9
--- /dev/null
+++ b/nlsr_lsdb.h
@@ -0,0 +1,33 @@
+#ifndef _NLSR_LSDB_H_
+#define _NLSR_LSDB_H_
+
+struct link
+{
+	struct charbuf *nbr;
+	int face;
+	int metric;
+};
+
+struct adj_lsa
+{
+
+	unsigned char ls_type;
+	char orig_time[15];
+	struct charbuf *orig_router;
+	int no_link;
+
+	struct link *links;
+};
+
+struct name_lsa
+{
+	unsigned char ls_type;
+	char orig_time[15];
+	long ls_id;
+	struct charbuf *orig_router;
+	unsigned char isValid;
+
+	struct charbuf *name_prefix;
+};
+
+#endif
