added modular input method

Community discussion and consensus: http://goo.gl/l39acO