sample app from mhartl's book