Fix #5: allow multiple TextSources