add exercise04 (part2)