some optimization (1)