added core c++ files, updated gitignore