merge changes from 2.2
merging changes from v2.2, part I