Running range four times is a terrible idea.  Do an orange(7) and store it in a list, check distance and types after that.