finished refractoring