explicitly require builder