A complete sample application