Merge branch 'Part2' into Part1
Merge branch 'Part1'
Merge branch 'Part2'
reformat part 1
reformat code
Merge branch 'master' into Part2