split fst_hom into two versions