Edited Part1, added beginning of Part2