refactor ff with the same pattern. make an interface for subformat policies.