most of 2.2.1 and 2.2.2