add spec framework