builder for a union