requires runner template