default failure and pass a failure func, more tests