change how register types are determined