2d works but only for blocksize==n