add Distribute and DistributeSL