first commit, complete distribute and multi thread download