validation methods added; notInStock/price switch implemented