many updates and corrections