forward-backward now returns nxm instead of mxn