Part 3 almost compelte