The if check in both functions is checking to see if a vnum is less than the low number, AND greater than the high number. This is obviously impossible and so the check will simply drop through to the next lines of code. Replacing it with an OR check will make it work as intended.