ottimizzation an bug fix