Now with more caching (which is why I was using the weird static ids previously), but before I thought it ran quickly enough, so I never bothered finishing.