challenge 1 modified, added challenge 2 and 3