cart functions and page, needs debugging