add buildFields()