avoid mutation