reformatting: registers in their own struct