add register support