a lot of fixes!!!