dictionary-based generator