modify design
add demo