still merging supercaps and c++ master