add demo codes