Refactored itemPurchase method