Added a more efficient way of loading blocks using arrayList