freecell Freecell game and solver in Python Design philosophy lot small functions that operate mostly independenly dont put too much in one function keep all of the state information in a single dictionary.