passing a proc
revert