version 3.5 - added hash table