added purchasing validation. will go back and change method later.