explanation of demo