Optimisation

Optimisation and a fix