2D FFT working, I don't know why.

I got the 2D FFT algorithm to work, but I'm not sure why it works.
The 2D FFT is just the 1D FFT first taken on the rows and then
the columns of the given data.