Demo:

How it works: