support running in read-only mode