diff --git a/calendar/teachingdates/calendars/basecalendar.py b/calendar/teachingdates/calendars/basecalendar.py
index 029aeb5..bf84bae 100644
--- a/calendar/teachingdates/calendars/basecalendar.py
+++ b/calendar/teachingdates/calendars/basecalendar.py
@@ -27,6 +27,7 @@
     mondays = []
     period = None
     paper = None
+    end_of_week = None
     year = datetime.date.today().year
     env = jinja2.Environment(
         loader=jinja2.PackageLoader("teachingdates", "templates"),
@@ -36,17 +37,18 @@
                  year,
                  period,
                  paper,
+                 end_of_week=None,
                  period_config=None,
                  paper_config=None):
         self.year = year
         self.period = period
         self.paper = paper
+        self.end_of_week = end_of_week
 
         self.env.filters.update({
             "isteaching": lambda w: isinstance(w, TeachingWeek),
             "isbreak": lambda w: isinstance(w, BreakWeek),
-            "nextfriday": lambda d: d + datetime.timedelta(days=4),
-            "nextsunday": lambda d: d + datetime.timedelta(days=6),
+            "eow": lambda d: d + datetime.timedelta(days=self.end_of_week),
             "pad": lambda s, n: str(s).rjust(n)
         })
 
@@ -69,7 +71,8 @@
     def from_configuration(cls, config):
         if config:
             return cls(config.year, config.period, config.paper,
-                       config.get_period_config(), config.get_paper_config())
+                       config.end_of_week, config.get_period_config(),
+                       config.get_paper_config())
         else:
             return None