diff --git a/saqc/lib/rolling.py b/saqc/lib/rolling.py
index d4afba65cc76ab097caf0baab12c085dc6e9fc9a..ba529fa5359f1e9707d12510939b524d0f6d4e65 100644
--- a/saqc/lib/rolling.py
+++ b/saqc/lib/rolling.py
@@ -86,9 +86,6 @@ class _CustomBaseIndexer(BaseIndexer):
         start, end = self._apply_skipmask(start, end)
         start, end = self._apply_steps(start, end, num_values)
         start, end = self._prepare_min_periods_masking(start, end, num_values)
-
-        # print('Custom')
-        # print(np.array([start, end]))
         return start, end
 
     def _prepare_min_periods_masking(self, start, end, num_values):
@@ -216,16 +213,16 @@ class _VariableWindowDirectionIndexer(_CustomBaseIndexer):
         ws_bw, ws_fw = self._get_center_window_sizes(self.window_size)
         if center:
             c1 = c2 = closed
-            if closed is 'neither':
+            if closed == 'neither':
                 c1, c2 = 'right', 'left'
 
             start, _ = self._bw(num_values, ws_bw, c1)
             _, end = self._fw(num_values, ws_fw, c2)
 
-        elif not self.forward:
-            start, end = self._bw(num_values, ws_bw, closed)
-        else:
+        elif self.forward:
             start, end = self._fw(num_values, ws_fw, closed)
+        else:
+            start, end = self._bw(num_values, ws_bw, closed)
 
         if not self.expand:
             start, end = self._remove_ramps(start, end, center)
@@ -263,6 +260,9 @@ class _VariableWindowDirectionIndexer(_CustomBaseIndexer):
         s, _ = calculate_variable_window_bounds(num_values, window_size, None, None, closed, arr)
         start = np.arange(num_values)
         end = num_values - s[::-1]
+
+        if closed in ['left', 'neither']:
+            start += 1
         return start, end
 
 
diff --git a/test/lib/test_rolling.py b/test/lib/test_rolling.py
index d2980ff386814fa4e15df7b888ef2549cc91cef3..2c0e99452018c554825bc2bfeaefc606a3c8d398 100644
--- a/test/lib/test_rolling.py
+++ b/test/lib/test_rolling.py
@@ -11,16 +11,16 @@ def data():
 
 
 def data_():
-    # s1 = pd.Series(1., index=pd.date_range("1999/12", periods=12, freq='1M') + pd.Timedelta('1d'))
-    # s2 = pd.Series(1., index=pd.date_range('2000/05/15', periods=8, freq='1d'))
-    # s = pd.concat([s1, s2]).sort_index()
-    # s.name = 's'
-    # s[15] = np.nan
-    s1 = pd.Series(1., index=pd.date_range("1999/12", periods=4, freq='1M') + pd.Timedelta('1d'))
-    s2 = pd.Series(1., index=pd.date_range('2000/05/15', periods=2, freq='1d'))
+    s1 = pd.Series(1., index=pd.date_range("1999/12", periods=12, freq='1M') + pd.Timedelta('1d'))
+    s2 = pd.Series(1., index=pd.date_range('2000/05/15', periods=8, freq='1d'))
     s = pd.concat([s1, s2]).sort_index()
     s.name = 's'
-    s[4] = np.nan
+    s[15] = np.nan
+    # s1 = pd.Series(1., index=pd.date_range("1999/12", periods=4, freq='1M') + pd.Timedelta('1d'))
+    # s2 = pd.Series(1., index=pd.date_range('2000/05/15', periods=2, freq='1d'))
+    # s = pd.concat([s1, s2]).sort_index()
+    # s.name = 's'
+    # s[4] = np.nan
     return s
 
 
@@ -39,11 +39,11 @@ def make_num_kws():
 
 def make_dt_kws():
     l = []
-    for window in range(1, len_s + 3):
-        for min_periods in [None] + list(range(window + 1)):
-            for win in [f'{window}d', f'{window * 32}d']:
-                for center in [False, True]:
-                    for closed in [None] + ['left', 'right', 'both', 'neither']:
+    for closed in [None] + ['right', 'both', 'neither', 'left']:
+        for window in range(1, len_s + 3):
+            for min_periods in [None] + list(range(window + 1)):
+                for win in [f'{window}d', f'{window * 31}d']:
+                    for center in [False, True]:
                         l.append(dict(window=win, min_periods=min_periods, center=center, closed=closed))
     return l
 
@@ -95,7 +95,7 @@ def test_pandas_conform_num(data, kws):
 @pytest.mark.parametrize("kws", make_dt_kws())
 def test_pandas_conform_dt(data, kws):
     if kws.get('center', False) is True:
-        pass
+        pytest.skip('pandas has no center on dt-index')
     else:
         runtest_for_kw_combi(data, kws)
 
@@ -106,10 +106,25 @@ def test_forward_num(data, kws):
     runtest_for_kw_combi(data, kws)
 
 
-# @pytest.mark.parametrize("kws", make_dt_kws())
-# def test_forward_dt(data, kws):
-#     kws.update(forward=True)
-#     if kws['center'] is True:
-#         pytest.skip('pandas has no center on dt-index')
-#     else:
-#         runtest_for_kw_combi(data, kws)
+@pytest.mark.parametrize("kws", make_dt_kws())
+def test_forward_dt(data, kws):
+    kws.update(forward=True)
+    if kws.get('center', False) is True:
+        pytest.skip('pandas has no center on dt-index')
+    else:
+        runtest_for_kw_combi(data, kws)
+
+
+# def test_centering_w_dtindex():
+#     s = pd.Series(0., index=pd.date_range("2000", periods=10, freq='1H'))
+#     s[4:7] = 1
+#
+#     w = 2
+#     pd_kw= dict(window=w, center=True, min_periods=None)
+#     our_kw = dict(window=f'{w}h', center=True, closed='both')
+#     expected = s.rolling(**pd_kw).sum()
+#     result = customRoller(s, **our_kw, expand=False).sum()
+#     df = pd.DataFrame()
+#     df['res'] = result
+#     df['exp'] = expected
+#     print(df)