events optimisations