FT refactor