merge
modify code for better demo