throw errors on failures ...
corrections in the demo