moved some weird C++ stuff to snippet section