tidying up textinput interface