EVEN MORE MERGING WITH MEMOIZATION
Merge branch 'singPlayer'