#15 optimise shuffle engine by create a hash table. Try to reduce hash table size.