first-pass simple inner loop optimisation