questions 1 to 7 done, but 1 and 2 not funky yet. have no idea whether this compiles or works.