some notational changes
a bunch of changes before ml merge
updates from ML merge