huge number of fixes