input method improvements