more efficient charging detection