added user and item upserts; first draft of rating upsert