Register changes

all round... a lot