Came good in the end. I'll come back to this at the end and see what needs changing, but this is it "done" for now.