implement default and abstract header footer models