up to part2 - b only