added new header file and code cleanup