-#define CURR_CDAT (*cdat_stackp)
-#define CURR_SET set_list[CURR_CDAT->num_sets]
-#define CURR_ELE ele_list[CURR_CDAT->CURR_SET.num_ele]
-#define PREV_REF (ref_buf[num_refs-1])
-#define CURR_REF (ref_buf[num_refs])
-#define PREV_ODAT (odat_buf[num_odats-1])
-#define CURR_ODAT (odat_buf[num_odats])
-#define CURR_VDAT (vdat_buf[num_vdats])
-#define PREV_VDAT (vdat_buf[num_vdats-1])
-#define CURR_MODEL (CURR_VDAT->model_list[CURR_VDAT->num_models])
-#define CURR_LINK (link_buf[num_links])
-#define CURR_POST (post_buf[num_posts])
-#define CURR_QUAD (CURR_ODAT->quad_file)
+#define CURR_CDAT (*cdat_stackp)
+#define CURR_SET set_list[CURR_CDAT->num_sets]
+#define REF_IDX (num_refs % (refs_per_page * pages_per_chunk))
+#define PREV_REF (ref_buf[num_ref_chunks] + (REF_IDX * (sizeof (struct ref)) + pagesize - (sizeof (struct ref))))
+#define CURR_REF (ref_buf[num_ref_chunks] + (REF_IDX * (sizeof (struct ref)) + pagesize))
+#define ODAT_IDX (num_odats % (odats_per_page * pages_per_chunk))
+#define CURR_ODAT (odat_buf[num_odat_chunks] + (ODAT_IDX * (sizeof (struct odat)) + pagesize))
+#define VDAT_IDX (num_vdats % (vdats_per_page * pages_per_chunk))
+#define CURR_VDAT (vdat_buf[num_vdat_chunks] + (VDAT_IDX * (sizeof (struct vdat)) + pagesize))
+#define CURR_MODEL (CURR_VDAT.model_list[CURR_VDAT.num_models])
+#define CURR_LINK (link_buf[num_links])
+#define CURR_POST (post_buf[num_posts])
+#define CURR_QUAD (CURR_ODAT->quad_file)