doc and refact2