I'm in the middle of a bit of a rewrite/redesign.