fix(model.js): opts now passed through