--some optimization