Solution to #33.