good set this, a few nice tricks in there too to stop it just plodding along, well structured