introduce arecord.[ch]