#145 Recovery now handles RuntimeException