adding some cleanup and documentation header