Fix bugs. Add recharging.