add source for exercise 5.3