some optimization of code