design criteria + syntax and semantics changes and fixes
Merge remote-tracking branch 'refs/remotes/origin/master'