lots of fixes.