converter refactored