adds specific price classes and replaces the conditional with polymorphism