beginning of advanced tutorial (reusable apps)