fix fft, add inverse and use them both for polynomial multiply
refactor util functions
refactor out a few more utils