diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..bc03955
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 Braid LLC
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index abc707d..5b17a63 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,25 @@
# Vue Formulate
---------------
[![Build Status](https://travis-ci.org/wearebraid/vue-formulate.svg?branch=master)](https://travis-ci.org/wearebraid/vue-formulate)
+[![Current Version](https://img.shields.io/npm/v/vue-formulate.svg)](https://www.npmjs.com/package/vue-formulate)
+[![License](https://img.shields.io/github/license/wearebraid/vue-formulate.svg)](https://github.com/wearebraid/vue-formulate/blob/master/LICENSE.txt)
### What is it?
Vue Formulate is a [Vue](https://vuejs.org/) plugin that exposes an elegant
mechanism for building and validating forms with a centralized data store.
-### Installation
+### Get Started
+#### Download
First download the `vue-formulate` package from npm:
```sh
npm install vue-formulate
```
+#### Installation
+
Install `vue-formulate` like any other vue plugin:
```js
@@ -23,7 +28,62 @@ import formulate from 'vue-formulate'
Vue.use(formulate)
```
-Finally `vue-formulate` needs to access your vuex store. You can choose to.
+#### Vuex
+`vue-formulate` needs to be linked to your vuex store. Vuex can be
+configured as a single root store, or as namespaced modules and `vue-formualte`
+can work with either setup.
+
+**Vuex Module**
+
+```js
+import {formulateModule} from 'vue-formulate'
+
+export default formulateModule('namespace')
+```
+
+Using a namespaced vuex module is the recommended installation method. Just be
+sure to replace `'namespace'` with the namespace of your vuex module.
+
+Additionally, when using a vuex namespace, you _must_ also pass the namespace
+in the Vue plugin installation call:
+
+```js
+Vue.use(formulate, {vuexModule: 'namespace'})
+```
+
+Alternatively, you can install `vue-formulate`'s store elements to your vuex
+root store:
+
+**Root Store**
+
+```js
+import {formulateState, formulateGetters, formulateMutation} from 'vue-formulate'
+
+const state = () => ({
+ your: 'data',
+ ...formulateState()
+})
+
+const getters = {
+ yourGetter (state) {
+ return state.your
+ },
+ ...formulateGetters()
+}
+
+const mutations = {
+ setYour (state, payload) {
+ state.your = payload
+ },
+ ...formulateMutations()
+}
+
+export default {
+ state,
+ getters,
+ mutations
+}
+```
### Usage
@@ -32,28 +92,28 @@ Finally `vue-formulate` needs to access your vuex store. You can choose to.
building needs. Here's a simple example:
```html
-
-
-
-
-
-
-
+
+
+ ...more formulate-elements
+
```
+You can think of `` elements a little bit like traditional
+`