text input and i/o updates