version 1:  update all file with code, but not compilable yet