this is the result of my labours ...