lots of good additions and commenting