Changed code to more easily accompish #2, as well as finishing off #3
Made Envelope more readable by moving header generation into their own methods