If it were I, there would be at least 3 procedures. I would put the code to workout the month number in a separate function at the very least..