diff --git a/README.md b/README.md
index 828055d7..6443a33d 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,14 @@ If you like this project and find it useful and would like to help out you can s
* [Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESQ72XUPGKXRY)
* BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13
+## Documentation
+
+Please also be sure to see the following files for more information
+
+* [client/README.md](client/README.md)
+* [c-host/README.md](c-host/README.md)
+* [module/README.md](module/README.md)
+
## Obtaining and using Looking Glass
Please see https://looking-glass.hostfission.com/quickstart
@@ -24,18 +32,6 @@ Latest bleeding edge builds of the Windows host application can be obtained from
https://looking-glass.hostfission.com/downloads
-## Key Bindings
-
-By default Looking Glass uses the `Scroll Lock` key as the escape key for commands as well as the input capture mode toggle, this can be changed using the `-m` switch if you desire a different key.
-Below are a list of current key bindings:
-
-| Command | Description |
-|-|-|
-| ScrLk | Toggle cursor screen capture |
-| ScrLk+F | Full Screen toggle |
-| ScrLk+I | Spice keyboard & mouse enable toggle |
-| ScrLk+N | Toggle night vision mode (EGL renderer only!) |
-
# Help and support
## Web
diff --git a/VERSION b/VERSION
index 0f8126d6..7b50f8cc 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-a12-224-gee5d6c7c3e+1
\ No newline at end of file
+a12-225-gdba9764c5e+1
\ No newline at end of file
diff --git a/client/README.md b/client/README.md
new file mode 100644
index 00000000..e7e89d46
--- /dev/null
+++ b/client/README.md
@@ -0,0 +1,133 @@
+#Looking Glass Client
+
+This is the Looking Glass client application that is designed to work in tandem with the Looking Glass Host application
+
+## Build Dependencies
+
+* binutils-dev
+* cmake
+* fonts-freefont-ttf
+* libsdl2-dev
+* libsdl2-ttf-dev
+* libspice-protocol-dev
+* libfontconfig1-dev
+* libx11-dev
+* nettle-dev
+
+### Debian (and maybe Ubuntu)
+
+ apt-get install binutils-dev cmake fonts-freefont-ttf libsdl2-dev libsdl2-ttf-dev libspice-protocol-dev libfontconfig1-dev libx11-dev nettle-dev
+
+## Building
+
+ mkdir client/build
+ cd client/build
+ cmake ../
+ make
+
+## Key Bindings
+
+By default Looking Glass uses the `Scroll Lock` key as the escape key for commands as well as the input capture mode toggle, this can be changed using the `-m` switch if you desire a different key.
+Below are a list of current key bindings:
+
+| Command | Description |
+|-|-|
+| ScrLk | Toggle cursor screen capture |
+| ScrLk+F | Full Screen toggle |
+| ScrLk+I | Spice keyboard & mouse enable toggle |
+| ScrLk+N | Toggle night vision mode (EGL renderer only!) |
+
+## Setting options via command line arguments
+
+The syntax is simple: `module:name=value`, for example:
+
+ ./looking-glass-host win:fullScreen=yes egl:nvGain=1
+
+## Setting options via configuration files
+
+By default the application will look for and load the config files in the following locations
+
+ * /etc/looking-glass-client.ini
+ * ~/.looking-glass-client.ini
+
+The format of this file is the commonly known INI format, for example:
+
+ [win]
+ fullScreen=yes
+
+ [egl]
+ nvGain=1
+
+Command line arguments will override any options loaded from the config files.
+
+## Supported options
+
+```
+|------------------------------------------------------------------------------------------------------------|
+| Long | Short | Value | Description |
+|------------------------------------------------------------------------------------------------------------|
+| app:configFile | -C | NULL | A file to read additional configuration from |
+| app:shmFile | -f | /dev/uio0 | The path to the shared memory file |
+| app:shmSize | -L | 128 | Specify the size in MB of the shared memory file (0 = detect) |
+| app:renderer | -g | auto | Specify the renderer to use |
+| app:license | -l | no | Show the license for this application and then terminate |
+| app:cursorPollInterval | | 1000 | How often to check for a cursor update in microseconds |
+| app:framePollInterval | | 1000 | How often to check for a frame update in microseconds |
+|------------------------------------------------------------------------------------------------------------|
+
+|-------------------------------------------------------------------------------------------------------|
+| Long | Short | Value | Description |
+|-------------------------------------------------------------------------------------------------------|
+| win:title | | Looking Glass (client) | The window title |
+| win:position | | center | Initial window position at startup |
+| win:size | | 1024x768 | Initial window size at startup |
+| win:autoResize | -a | no | Auto resize the window to the guest |
+| win:allowResize | -n | yes | Aallow the window to be manually resized |
+| win:keepAspect | -r | yes | Maintain the correct aspect ratio |
+| win:borderless | -d | no | Borderless mode |
+| win:fullScreen | -F | no | Launch in fullscreen borderless mode |
+| win:fpsLimit | -K | 120 | Frame rate limit (0 = disable - not recommended) |
+| win:showFPS | -k | no | Enable the FPS & UPS display |
+| win:ignoreQuit | -Q | no | Ignore requests to quit (ie: Alt+F4) |
+| win:noScreensaver | -S | no | Prevent the screensaver from starting |
+| win:alerts | -q | yes | Show on screen alert messages |
+|-------------------------------------------------------------------------------------------------------|
+
+|---------------------------------------------------------------------------------------------------------------------------------------|
+| Long | Short | Value | Description |
+|---------------------------------------------------------------------------------------------------------------------------------------|
+| input:grabKeyboard | -G | yes | Grab the keyboard in capture mode |
+| input:escapeKey | -m | 71 = ScrollLock | Specify the escape key, see https://wiki.libsdl.org/SDLScancodeLookup for valid values |
+| input:hideCursor | -M | yes | Hide the local mouse cursor |
+|---------------------------------------------------------------------------------------------------------------------------------------|
+
+|----------------------------------------------------------------------------------------------------------------------|
+| Long | Short | Value | Description |
+|----------------------------------------------------------------------------------------------------------------------|
+| spice:enable | -s | yes | Enable the built in SPICE client for input and/or clipboard support |
+| spice:host | -c | 192.168.10.50 | The SPICE server host or UNIX socket |
+| spice:port | -p | 5900 | The SPICE server port (0 = unix socket) |
+| spice:input | | yes | Use SPICE to send keyboard and mouse input events to the guest |
+| spice:clipboard | | yes | Use SPICE to syncronize the clipboard contents with the guest |
+| spice:clipboardToVM | | yes | Allow the clipboard to be syncronized TO the VM |
+| spice:clipboardToLocal | | yes | Allow the clipboard to be syncronized FROM the VM |
+| spice:scaleCursor | -j | yes | Scale cursor input position to screen size when up/down scaled |
+|----------------------------------------------------------------------------------------------------------------------|
+
+|--------------------------------------------------------------------------|
+| Long | Short | Value | Description |
+|--------------------------------------------------------------------------|
+| egl:vsync | | no | Enable vsync |
+| egl:nvGainMax | | 1 | The maximum night vision gain |
+| egl:nvGain | | 0 | The initial night vision gain at startup |
+|--------------------------------------------------------------------------|
+
+|------------------------------------------------------------------------------------|
+| Long | Short | Value | Description |
+|------------------------------------------------------------------------------------|
+| opengl:mipmap | | yes | Enable mipmapping |
+| opengl:vsync | | no | Enable vsync |
+| opengl:preventBuffer | | yes | Prevent the driver from buffering frames |
+| opengl:amdPinnedMem | | yes | Use GL_AMD_pinned_memory if it is available |
+|------------------------------------------------------------------------------------|
+```