implement request intercept