add get_type()