switched from using default id to specifying key_name in Model, use get_by_key_name and get_or_insert instead of query strings