added 2D fourier stuff