Separated C++ code into multiple source and header files.