add spec, change code