Loads of improvements and changes