original version of ex22
original version of ex23