Refactoring
Updated