Added fourier basis, more testing and refactoring