update doc and add spec