user refact