new abstraction
finish abstracting header data
now very abstract
unify detail and header convention