Improved data model generator