Generalize, add textfield/textview, rename