fix charge and rearrange