added hash_tables and tests