Added Updated Header files, and .cpp