new input method