T5 full implementation