get_producer() complete rewrite