optimisation
change in logic