refacroring 1