update (mostly); lots still left to do