reader producer