refactor textfieldbase