Random walk optimisation

Previously optimisation doesn't seem to work. Trying a different tack.
Merge branch 'develop-fftf'