change impl to prevent user goes too deep into loop of 'grid->detail->grid->detail...'