re-wrote spec