optimalizations(not much but..)