How to populate a field value to another field before new value

How to populate a field value to another field before new value

Hello,
On the Leads Module, is it possible to capture the value of a field before it is changed and store the previous value in the same module before it is saved?

For example.

Agent = "Joe"
Previous Agent = "Frank"

The record is then updated and the Agent name changed to "Bob", so we would like to store Agent to Previous Agent before overwriting with "Bob"

After Update:
Agent = "Bob"
Previous Agent = "Joe"

I have started creating a function but I am unable to get this value before update.

Any help would be appreciated.