many many many updates & fixes