impl: main mechanism