fix a bug, add demo