fuzzy implementation