Working through CPDT.