refact doc