Removed old abstract controllers
Tabs to spaces
Added tests
Updated the documentation