merge from part1