Data structure and Generator