Initial commit, rought draft not yet complete
diff --git a/ndns-packet-format.md b/ndns-packet-format.md
new file mode 100644
index 0000000..a33a000
--- /dev/null
+++ b/ndns-packet-format.md
@@ -0,0 +1,97 @@
+.. _packetFormat:
+
+Query
+-----
+
+ Requests to the server are made in the format of a standard NDN interest packet. The question is replaced with a standard request for content. See :ref `Interest section <Interest>` for details.
+
+Answer
+------
+
+.. _data:
+ Data ::= DATA-TLV TLV-LENGTH
+ Name
+ MetaInfo
+ Content
+ Signature
+
+Every response from the NDNS system comes in the same generic form.
+The specialization is accomplished by setting values in the MetaInfo structure.
+
+
+Name
+~~~~
+See :ref:`Name section <Name>` for details.
+
+.. _MetaInfo
+
+MetaInfo
+~~~~~~~~
+
+MetaInfo specified here represents portions that are defaultly specified in any NDN packet, which NDNS specific additions.
+See `NDN Packet Specification - Meta-Info <http://named-data.net/doc/ndn-tlv/data.html#metainfo>`_
+
+MetaInfo ::= META-INFO-TYPE TLV-LENGTH
+ ContentType
+ FreshnessPeriod?
+ NDNS-Type
+ AnswerCount
+
+ContentType
++++++++++++
+
+::
+
+ ContentType ::= CONTENT-TYPE-TYPE TLV-LENGTH
+ nonNegativeInteger
+
+For an NDNS packet the ContentType should always be BLOB (=0), specificity is accomplished by NDNS-Type.
+
+See :ref: `NDNS-Type` for details
+
+FreshnessPeriod
++++++++++++++++
+
+::
+
+
+ FreshnessPeriod ::= FRESHNESS-PERIOD-TLV TLV-LENGTH
+ nonNegativeInteger
+
+The optional freshness period specifies how long after the arrive of the data the recieving node should wait before marking it stale.
+
+See `NDN Packet Specification - Freshness Period <http://named-data.net/doc/ndn-tlv/data.html#freshnessperiod>`_
+
+.. _NDNS-Type:
+
+NDNS-Type
++++++++++
+
+::
+
+
+ NDNS-Type ::= NDNS-TYPE-TLV TLV-LENGTH
+ nonNegativeIntegear
+
+There are 4 distinct types of NDNS Responses:
+
+ *NDNS Data*- a traditional response which answers which contains the data corresponding to the NDNS Query.
+ *NDNS NACK* - indicates that the responding zone has no content matching the query
+ *NDNS AUTH* - indicates that the zone has content, but a more specific question is need to determine the correct content to server.
+
+.. _Content-Length:
+
+AnswerCount
+++++++++++++
+
+::
+
+
+ AnswerCount ::= ANSWER-COUNT-TLV TLV-LENGTH
+ nonNegativeIntegear
+
+This field is used to specify the number of answer in a response.
+
+
+Content
+~~~~~~~