add readOnly option