use double buffering.