add make_transforming_source