sources from Coderbyte in C++