Add exercise 21 and associated files