Calcium and magnesium ions dissolved in water are what cause water hardness by interfering with the ability of soap to lather. There are two types of hardness: temporary, caused by bicarbonate ions and removed by boiling; and permanent, caused by sulfate ions. Permanent hardness can be removed by adding washing soda to precipitate calcium carbonate or through ion exchange columns which swap calcium ions for sodium ions. Limescale is calcium carbonate buildup and can be removed using acidic limescale removers which dissolve it through a reaction that forms calcium and carbonate ions in solution.