implement readOnly properties