module refractoring