charge logic