(WIP) #2 add catch unit test framework