optimisation

no leak memory