refactored shorter