Completed exercise #34
Partial #35