split charge distribution from generation algorithm

Change-Id: I151dce99986b18f87b387c3f98d62b7ae5c3c5a9