cleanup; added memoize helper; load json if nothing given
divide load by number of processors