fix some scenarios and improve demo