Implement readImpl