generate fields