diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ad73c9..8c1562d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,12 @@ Change Log
 ==========
 
 
+1.1.1
+=====
+
+* Fixed error on `is_valid` when checking an [interval with a season](https://github.com/unt-libraries/edtf-validate/issues/20).
+* In README.md, updated draft EDTF specification link to fix the 404.
+
 1.1.0
 =====
 
diff --git a/edtf_validate/valid_edtf.py b/edtf_validate/valid_edtf.py
index 8867384..b4702f8 100644
--- a/edtf_validate/valid_edtf.py
+++ b/edtf_validate/valid_edtf.py
@@ -73,7 +73,7 @@ LEVEL 1 GRAMMAR START
 UASymbol = oneOf("? ~ ?~")
 seasonNumber = oneOf("21 22 23 24")
 season = year + "-" + seasonNumber
-dateOrSeason = date | season
+dateOrSeason = season | date
 # uncertain Or Approximate Date
 uncertainOrApproxDate = date + UASymbol
 # unspecified
@@ -249,6 +249,28 @@ def replace_all(text, dic):
     return text
 
 
+# season start and end dates for use in interval checking
+# erring toward inclusivity
+seasons = {
+    '21': {'from': '01', 'to': '05'},
+    '22': {'from': '05', 'to': '08'},
+    '23': {'from': '08', 'to': '11'},
+    '24': {'from': '10', 'to': '12'},
+}
+
+
+def replace_season(season_date, marker):
+    """Replace a season with a month.
+
+    Keyword arguments:
+    season_date -- edtf candidate of form year-season
+    marker -- 'from' or 'to' representing earliest or latest season month
+    """
+    y_part, m_part = season_date.split('-')
+    m_part = seasons[m_part][marker]
+    return '-'.join([y_part, m_part])
+
+
 U_PATTERN = re.compile(r'(-?)([\du]{4})(-[\du]{2})?(-[\du]{2})?/'
                        r'(-?)([\du]{4})(-[\du]{2})?(-[\du]{2})?')
 
@@ -441,11 +463,28 @@ def is_valid_interval(edtf_candidate):
             from_date = datetime.datetime.strptime(parts[0], "%Y-%m-%d")
         if parts[1].count("-") == 2:
             to_date = datetime.datetime.strptime(parts[1], "%Y-%m-%d")
+        # handle special case of same year season/season range due to
+        # the overlap of the months we are designating for the seasons
+        if parts[0].count("-") == 1 and parts[1].count("-") == 1:
+            from_year, from_month = parts[0].split("-")
+            to_year, to_month = parts[1].split("-")
+            if from_year == to_year and from_month in seasons and to_month in seasons:
+                return from_month <= to_month
         # 1 '-' character means we are match year-month
         if parts[0].count("-") == 1:
-            from_date = datetime.datetime.strptime(parts[0], "%Y-%m")
+            try:
+                from_date = datetime.datetime.strptime(parts[0], "%Y-%m")
+            except ValueError:
+                # month is a season; use earliest possible month
+                replaced_season = replace_season(parts[0], 'from')
+                from_date = datetime.datetime.strptime(replaced_season, "%Y-%m")
         if parts[1].count("-") == 1:
-            to_date = datetime.datetime.strptime(parts[1], "%Y-%m")
+            try:
+                to_date = datetime.datetime.strptime(parts[1], "%Y-%m")
+            except ValueError:
+                # month is a season; use latest possible month
+                replaced_season = replace_season(parts[1], 'to')
+                to_date = datetime.datetime.strptime(replaced_season, "%Y-%m")
         # zero '-' characters means we are matching a year
         if parts[0].count("-") == 0:
             # if from_date is unknown, we can assume the lowest possible date

diff --git a/tests/test_valid_edtf.py b/tests/test_valid_edtf.py
index 94a77d0..1b496d0 100644
--- a/tests/test_valid_edtf.py
+++ b/tests/test_valid_edtf.py
@@ -42,11 +42,19 @@ class TestIsValid(object):
         '1111-01-01/1111',
         '0000-01/0000',
         '2000-uu/2012',
+        '1952-23~/1953',
+        '1923-21/1924',
+        '1981/1982-23',
+        '1623-11/1900-11',
+        '2003-22/2004-22',
+        '2003-22/2003-22',
+        '2003-22/2003-23',
         '2000-12-uu/2012',
         '2000-uu-10/2012',
         '-2000-uu-10/2012',
         '2000-uu-uu/2012',
         '2000/2000-uu-uu',
+        '1712/2012',
         '198u/199u',
         '198u/1999',
         '1987/199u',
@@ -87,6 +95,8 @@ class TestIsValid(object):
         '2012///4444',
         '2012\\2013',
         '2000/12-12',
+        '2012-24/2012-21',
+        '2012-23/2012-22',
         '0800/-0999',
         '-1000/-2000',
         '1000/-2000',

`is_valid` errors on an interval with a season
Example is `is_valid('2012/2019-22')` due to [`to_date = datetime.datetime.strptime(parts[1], "%Y-%m")`] not being able to parse a season (i.e. 21, 22, 23, or 24) in the month place. Though it is not completely clear to some of us in the draft specification we are following if a season in the interval should be valid, I think @htarver wants this to be valid assuming the interval makes sense as far as the end date coming after the start date. Valid or not, we should avoid the exception.
tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1952-23~/1953] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1923-21/1924] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1981/1982-23] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2003-22/2004-22] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2003-22/2003-22] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2003-22/2003-23]
tests/test_valid_edtf.py::TestIsValidInterval::test_interval_malformed tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T10:10:1] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T1:10:10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T10:1:10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10t10:10:10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[2012-10-10T10:10:10Z10] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[1960-06-31] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_datetime[[1 tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_datetime tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1000/-0999] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1000/-0090-10] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1000/2000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1000/2000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[unknown/2000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[unknown/open] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2017-01-14/open] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000/0000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-02/1111] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-01/0000-01-03] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-01-13/0000-01-23] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1111-01-01/1111] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0000-01/0000] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-uu/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1623-11/1900-11] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-12-uu/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-uu-10/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-2000-uu-10/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000-uu-uu/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2000/2000-uu-uu] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1712/2012] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[198u/199u] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[198u/1999] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1987/199u] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1984-11-2u/1999-01-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1984-11-12/1984-11-uu] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[198u-11-uu/198u-11-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1980-11-01/1989-11-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-uu-02/1919-uu-01_0] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-0u-02/1919-01-03] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1865-u2-02/1865-03-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-1981-11-10/1980-11-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1930-u0-10/1930-10-30] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1981-1u-10/1981-11-09] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-12-02/1919-uu-04] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-11-02/1919-1u-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-09-02/1919-u0-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-08-02/1919-0u-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-10-02/1919-u1-01] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-04-01/1919-u4-02] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1602-10-0u/1602-10-02] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2018-05-u0/2018-05-11] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[-2018-05-u0/2018-05-11] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1200-01-u4/1200-01-08] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-uu-02/1919-uu-01_1] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1919-07-30/1919-07-3u] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1908-05-02/1908-05-0u] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[0501-11-18/0501-11-1u] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[1112-08-22/1112-08-2u] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2015-02-27/2015-02-u8] tests/test_valid_edtf.py::TestIsValid::test_valid_edtf_interval[2016-02-28/2016-02-u9] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012/2013/1234/55BULBASAUR] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[NONE/unknown] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012///4444] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012\\2013] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2000/12-12] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012-24/2012-21] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[2012-23/2012-22] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0800/-0999] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[-1000/-2000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[1000/-2000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[y-61000/-2000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0001/0000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0000-01-03/0000-01] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0000/-0001] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_interval[0000-02/0000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+20067890?~0] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[y2006] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[-0000] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+y20067890-14-10?~] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+20067890?~1] tests/test_valid_edtf.py::TestIsValid::test_invalid_edtf_date_match[+2006?~] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2001-02-03] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[-2001-02-03] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2008-12] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2008] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[-0999] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[-9999] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[0000] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2001-02-03T09:30:01] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-01-01T10:10:10Z] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2012-10-10T10:10:10Z] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[-2012-10-10T10:10:10Z] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-01-01T10:10:10+05:00] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[1964/2008] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-06/2006-08] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-02-01/2005-02-08] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-02-01/2005-02] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2004-02-01/2005] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[-2004-02-01/2005] tests/test_valid_edtf.py::TestLevel0::test_valid_level_0[2005/2006-02] tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863- tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[ tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-03 tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-03- tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-03-29 tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[18 tests/test_valid_edtf.py::TestLevel0::test_invalid_level_0[1863-0 tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-1984?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-06?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-06-11?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984?~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[199u] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[19uu] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-19uu] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1999-uu] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1999-01-uu] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1999-uu-uu] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-1999-uu-uu] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[unknown/2006] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-06-01/unknown] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2004-06-01/unknown] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2004-01-01/open] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984~/2004-06] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984/2004-06~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984~/2004~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984?/2004?~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984-06?/2004-08?] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984-06-02?/2004-08-08~] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[1984-06-02?/unknown] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[y170000002] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[y-170000002] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2001-21] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2003-22] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[-2003-22] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2000-23] tests/test_valid_edtf.py::TestLevel1::test_valid_level_1[2010-24] tests/test_valid_edtf.py::TestLevel1::test_invalid_level_1 tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004?-06-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004?-06-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06~-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-(06)?-11] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-(11)~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2004-06-(11)~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-(06)?~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-(06-11)?] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004?-06-(11)~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[(2004-(06)~)?] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004?-(06)?~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[(2004)?-06-04~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[(2011)-06-04~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2011-(06-04)~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2011-23~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-2011-23~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[156u-12-25] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[15uu-12-25] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[15uu-12-uu] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-15uu-12-uu] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[1560-uu-25] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[1667,1668, tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[..1760-12-03]] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[1760-12..]] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[1760-01, tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[-1760-01, tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[[1667, tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[{1667,1668, tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[{1960, tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[196x] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[19xx] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[-19xx] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-(01)~/2004-06-(20)~] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2004-06-uu/2004-07-03] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[y17e7] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[y-17e7] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[y17101e4p3] tests/test_valid_edtf.py::TestLevel2::test_valid_level_2[2001-21^southernHemisphere] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[1960-06-31] tests/test_valid_edtf.py::TestLevel2::test_invalid_level_2[[1