add producer prototype