Cleaned up registers
Added structure to the register hiearchy, to resemble the spec