introduced typed user input