new input method complete
tidying up