implement AggregateString and JoinString using it; add tests