add bunch of fixes