User update

full functional. refactoring required
![](http://media.giphy.com/media/kKPWz3TC2LBGo/giphy.gif)