Refactored new_model

Using strings instead of symbols to be consistent in return objects
Used the merge paradigm I use everywhere else
All around easier to read and understand