register type not need base