improve the demo