lots of updates and corrections