added rvalue support. hashtable still not working