Refactored into a single .h file
Added new header file