sample app chaper 3