fixed get_type function