many many fixes and updates