More speed optimisations