demo_app done on my own