removed primop: leave
hash values are now cached
added C++11 override