more memoizing!!!

breaking up the process so it can get saved at some point