tfd algorythm