Many updates and fixes