Generalize, add textview/textfield, rename