Add tests
Finish CPU