udpate gitignore files
move implementation to cpp