Exercise 52 framework