Not sure I'll be able to write such a detailed CS to be honest, though I'll have a good crack at it.