http://codekata.com/kata/kata20-klondike/