Warning: This is a long and detailed exercise. Make sure you have plenty of time before you start it.