changed signature of intercept()