add file read write, devide conquer almost ok.