@fields must be an object