more merging with memoization
Merge branch 'singPlayer'