optimisation, refactoring