fix is_valid branch bug