Added a transport reader and fixed a slew of bugs with test cases