working on model generator