minor optimisations