finish up cart functions