better fourier transform with more options