refractoring to implement naming