implementation refined