update screen by screen