seperate types and cpu modules, add supervisor typedefs
stat register