convert to middleman