add FailSafe implementation