refactoring: extracted take