I am going to have to look into the upto method but this implementation is more elegant that mine I feel because of it.