untested callbacks for more message types
c++11!!