trying to work around gcc-4.2 limitations (it wants copy cntr for something passed by cref)