diff --git a/README.md b/README.md
index 902f017..8c408f1 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,65 @@
-## res·pound·er
+
+
+# res·pound·er
/rɪˈspaʊnd dər/
noun
- Respounder sends LLMNR name resolution requests for made-up hostnames that do not exist. In a normal non-adversarial network, we do not expect such names to resolve. However, a responder, if present in the network, will resolve such queries and therefore get detected.
+ Respounder sends LLMNR name resolution requests for made-up hostnames that do not exist.
+ In a normal non-adversarial network we do not expect such names to resolve.
+ However, a responder, if present in the network, will resolve such queries
+ and therefore will be forced to reveal itself.
+
+## Download
+
+### Latest Releases
+Respounder is available for 32/64 bit linux, OS X and Windows systems.
+Latest versions can be downloaded from the [Release](https://github.com/codeexpress/respounder/releases) tab above.
+
+### Build from source
+This is a golang project with no dependencies. Assuming you have golang compiler installed,
+the following will build the binary from scratch
+```
+$ git clone blah
+$ cd respounder
+$ go build respounder
+```
+
+## Usage
+
+Running `respounder` is as simple as invoking it on the command line.
+The following will display output on the terminal.
+```
+$ ./respounder
+```
+To detect a compromise as soon as it happens, **run respounder as a cron job running every minute**
+
+### Flags
+
+```
+$ ./respounder [-json] [-debug]
+
+Flags:
+ -json
+ Prints a JSON to STDOUT if a responder is detected on
+ network. Other text is sent to STDERR
+ -debug
+ Creates a debug.log file with a trace of the program
+ -help
+ Displays this help
+```
+
+## Demo
+![Respounder in action](https://i.imgur.com/ymcDRnJ.gif)
+