Second round of attempted optimisations