almost all fixes