Works, but ugly. Will include all in c++ soon
clean repo