use model uri instead of model name for associations
added first_or_create
added exceptions for bad responses