added hopscotch algorithm. It's quite good