added recursive reduction and _t_dump function