composition readonly implementation