permit add a custom failure message for satisfy