lot of updates and fixes