Add hacky memoization technique
Add modules to refactor again