questions 1 and 2
question 3 plus cleanup unneeded stuff from q2
Question 4 plus some cleanup
Question 5