refactoring cart page