change interface of ListGenerator. takes a source string argument.
refactoring