solved 2.1-2.13