added model generator