using Hash-Index algorithm, which is more fit for Julialang, 200% faster