moved everything into the header class