add suspension control
accumulate keyboard input