add read-only mode