1)  rewrote json deserializer to no longer be order dependent
2)  fixed up tests from v2 revamp