Loads of fixes and improvements
Updated version