add revive and charge callback handler