change the peocessing logic of charge