Front end (also Fuzzy front end)