tried to fix contextual, but not sure if it's entirely correct or coprocessor.