Refactored Initial commit