some optimization to Screen.jack, not enough