refactored bitcrusher