implement hash index