some optimization.