implement TFR (untested) (contributes to #9).