diff --git a/src/nlsr_rt.hpp b/src/nlsr_rt.hpp
new file mode 100644
index 0000000..ef54742
--- /dev/null
+++ b/src/nlsr_rt.hpp
@@ -0,0 +1,45 @@
+#ifndef NLSR_RT_HPP
+#define NLSR_RT_HPP
+
+#include<iostream>
+#include<utility>
+#include<string>
+
+#include "nlsr_rte.hpp"
+
+class nlsr;
+class NextHop;
+
+using namespace std;
+
+class RoutingTable
+{
+public:
+	RoutingTable()
+		: NO_NEXT_HOP(-12345)
+	{
+	}
+	void calculate(nlsr& pnlsr);
+	void addNextHop(string destRouter, NextHop& nh);
+	void printRoutingTable();
+
+	void addNextHopToDryTable(string destRouter, NextHop& nh);
+	void printDryRoutingTable();
+	std::pair<RoutingTableEntry&, bool> findRoutingTableEntry(string destRouter);
+	void scheduleRoutingTableCalculation(nlsr& pnlsr);
+
+private:
+	void calculateLsRoutingTable(nlsr& pnlsr);
+	void calculateHypRoutingTable(nlsr& pnlsr);
+	void calculateHypDryRoutingTable(nlsr&pnlsr);
+	
+	void clearRoutingTable();
+	void clearDryRoutingTable();
+
+	const int NO_NEXT_HOP;
+	
+	std::list< RoutingTableEntry > rTable;
+	std::list< RoutingTableEntry > dryTable;
+};
+
+#endif
