cart funct 3