refactored1