generic algorithm, creation of SuggestMixin