First question's answer
Second question's answer
Question 5 answer
Question 3 answer
Question 4 (final commit)