solved up to exercise 3 from exception-handling