Improved cart functionality with list/dictionary comprehensions, setup session correctly