demo_app: finish demo app