Redid everything with contracts, and a fast version under that.