improve demo 2