generate electricity with magnets