add tests, change failFunc message output