added before/after request methods