produce text