add generateListCaption(), generateCaption()