added some header documentation