changed to hold a boundary pointer instead of array size