Code refractored
Code refractored