use c++ everywhere
basic working skeleton of scheduler