Reworked Model constructor.