part 1 completed (1C some fixing needed)