begin PurchaseResource refactor and IT