Updated consume and producer