Merge new version, with 99% working!