Added new cpp files for implementation