improved Hahns::trigger()