(1) Where the seller fails to make delivery or repudiates or the buyer rightfully rejects or justifiably revokes acceptance then with respect to any goods involved, and with respect to the whole if the breach goes to the whole contract (section 2-612), the buyer may cancel and whether or not he has done so may in addition to recovering so much of the price as has been paid
(a) "cover" and have damages under the next section as to all the goods affected whether or not they have been identified to the contract; or
(b) recover damages for nondelivery as provided in this article (section 2-713).
(2) Where the seller fails to deliver or repudiates the buyer may also
(a) if the goods have been identified recover them as provided in this article (section 2-502); or
(b) in a proper case obtain specific performance or replevy the goods as provided in this article (section 2-716).
(3) On rightful rejection or justifiable revocation of acceptance a buyer has a security interest in goods in his possession or control for any payments made on their price and any expenses reasonably incurred in their inspection, receipt, transportation, care and custody and may hold such goods and resell them in like manner as an aggrieved seller (section 2-706).