code refactored
code refactored