adapted for C++ Starting Kit 0.1.6