add spec, revise document