changed almost everything
update files to cpp