Tests pass, a few API changes.