completed middleman convert