Loads of changes. All views should be working dynamically with the model now