Header initial look completed. Not fixed yet. Refactored some of the code so that a better abstraction can be achieved.