refractoring models