add approximate FFD

it's not working yet. Looks like I need more precision.