Loads of visual and code changes