Good to hear Robert. True, that its hard to push and pop in your scenario (not impossible though). It sounds like you have still achieved the same thing in the end. I might suggest removing your array and converting it to a doubly linked list. This should help with memory re-allocations that occur every time you re-size an array. In fact you could make a field to pull you list items from so that you can re-use them and not loose speed on re-calcs at all.