Basic fields with tests, reorganized the lib around for multiple formats, basic record and it's meta magic with tests