converted rarity into a category like structure, moved price logic into card model