moved whole excluding logic to the excluding iterator