cc150: solution to 2.1
cc150: solution to 2.2
cc150: solution to 2.3
cc150: solution to 2.4