Mike & Guillermo's solution so far.