add requires Proc::Guard for testing