refactor F2