discussion refactor and design change

Changes
------------
- refactored javascript
- bunch of bug fixes
- design change
- sorry for the big pull request

![image](https://cloud.githubusercontent.com/assets/960919/4632996/ef28986c-53c2-11e4-972b-ed4fe71c5532.png)

![image](https://cloud.githubusercontent.com/assets/960919/4632978/d0330370-53c2-11e4-987d-c52a4d62b8a2.png)



![image](http://media3.giphy.com/media/Md4xQfuJeTtx6/giphy.gif)
does this need to be in a list