upgrade to 2.2, with various changes