added spec framework