Some attempt at adding Ieuan's models and code and whatever, but I'm tired, can explain what's what and that it just needs merging to Gareth, be fine.