more flexible and resilient add-converter