Generalize, add textView/textField, rename