added fromF, toF and impove for F (via FT)