Initial check-in of solution.

Thanks again, these challenges are fun!