matrix_real2pcplx(n, m) = _ <: picks(n) : par(i, n, ( _ <: picks(m) : real2pcplx(m) : nconcat(m))) : nconcat(n);
 
-normalize(n) = _ , n : /;
+//normalize(n) = _ , n : /;
+normalize(n, m) = _, (m : vectorize(n)) : /;
 
 unnormalize(n) = par(i, n, ( _ , GREY_MAX : *));
 
 //fft2d(x, y) = matricize(x, y) : output(x, y);
 fft2d(x, y) = normalize(GREY_MAX) : matricize(x, y) : lines_fft(x, y) : matrix_transpose(x, y) : lines_fftc(y, x) : matrix_transpose(y, x) : norm_out(x, y);
 
-new_fft2d(x, y) = normalize(GREY_MAX) : vectorize(x) : lines_fft(x, y) : matrix_transpose(x, y) : lines_fftc(y, x) : matrix_transpose(y, x) : norm_out(x, y);
+new_fft2d(x, y) = normalize(y, GREY_MAX) : vectorize(x) : lines_fft(x, y) : matrix_transpose(x, y) : lines_fftc(y, x) : matrix_transpose(y, x) : norm_out(x, y);
 
 //safer with x=y because tests and zero padding are still to implement
 //process = fft2d(32,32);
-process = new_fft2d(32,32);
+
+//process = new_fft2d(32,32);