why not key this by firstDay, so we can eliminate the long if/else-if chain?