a more in-depth sample app