add spec testing infrastructure