a lot of fixes.