add text input support