with text-based input mapping