I don't see any shared code between the 'dow' and 'mon' types. I think these should be separate methods.