refactor design doc