Awesome!

(17 seems like a sub-question of 10 though)