Added powerful generation of models based on column details provided by the user