Added more recharge, discharge functions