Restructure and began to implement c++ setup