can break early if not result