fixes some semantic issues with header