the code in this discussion has been updated to use revive(). I am not sure why github did not mark it as outdated, but it's outdated