put cpu things in its own file