add spec test framework