Pull request for all the work in March

So this is the work I had been doing the last month on UI. I would like to start with new branch now, since implementation of new features is on the horizon, so I am sending a pull request to do this properly.

Please forgive me for not squashing my commits before I pushed, I forgot :(.