added exercise 3 (very raw and unfinished)