More refactoring on Distribute method