ensure immutable