more optimisation fiddling