refact article