Exercise 15. Part 1

Initial implementation of exercise 15