working on Transaction - removing extra sprintf and using the * width flag
changed how the headers work some, as well as made significant progress on Transaction.write