text field and keyboard examples for chapter 23