many improvements to demo