update source file and demo file