Final version part1