model and data structure generator