implementation of before/after processors