added recipe constructor