Feature/refactoring updates

![](http://i.imgur.com/wGUTG.gif)