fm_spf unfinished