generalize temple
use forwarding.