lots of fixes

don't ask