Completely rewrite src/data/format.[ch], to achieve better