so we avoid mutable