better register support