update and add a demo