by jimplx
Excellent. The only slight spoiler is that it needs proofreading and some of the errors correcting.