rewrote to use pymarc