sack refactored