implement readonly Property API