production logic