basic demo with user interaction