Header documentation and a little clean up