merge code, update source codes