Lot of work on CPU stuff, and some optimization.