refactor cart page