implemented FFD (draft)