change order of checking in get_data_semi