some improve demo