migrate to spec framework
unit and integration testing