this should work to allow reading both full register and bitfields