Simplify internal set_fields method