prelim functional