skeleton code for part2
updated to match part1