some upgrades for register