Merging text format branch into master.

Binary format will be given a chance once text format is stable and I have time.