add doc & some codes