not strictly necessary but guarantees consistent state