changed UDTT to be lazy [] instead of seq