The only reason the Bills didn't keep Singletary (and why they drafted Cook a year ahead of Singletary's departure) is that Singletary's rookie contract was expiring, and the Bills don't want to pay the going rate for top-notch veterans. Like most other teams, the Bills use rookie contracts for RBs to balance the books.