moved code around into different files, starting on cpu stuff