A battery can be charged by