modify spreading strategy, remove duplicate code