EXHIBIT 2 STOCK PURCHASE AGREEMENT DATED AS OF JULY 21, 2000