improve demo 1