A more functional demo app