change bivariate to use FFTs, make inteface consistent