Improved solutions to exercses 1.1, 1.2, and 1.3, see #436