reorganized the code, added cpp folder