bit of refactoring, adding bang, towards packs and envelopes