build fields and operators with type