middle agent mechanism