- separate map (random number generation) from reduce - reduce should not be restricted to sequential execution - how does concurrency control happen in Ada - how could it happen in Go