add readOnly