concerned that opts.fields -> exclude change here may break something.