implement volatile keyword support using std::atomic
avoid printing unneeded ctor:s