Initial attempt at Challenge 135 (Intermediate)