`readwrite` only when necessary