Type bank Field pointer%,bank% End Type Function bankCreate.bank(size%) this.bank= New bank this\bank%=CreateBank(size%*4) Return this End Function Function bankResize(this.bank,size%) ResizeBank this\bank%,size% End Function Function bankPush%(this.bank,value%) PokeInt(this\bank%,this\pointer%,value%) this\pointer%=this\pointer%+4 End Function Function bankPop%(this.bank) this\pointer%=this\pointer%-4 Return PeekInt(this\bank%,this\pointer%) End Function ;Uses mybank.bank=bankCreate(NumberOfEntities) entity%=CreateCube() bankPush(mybank,entity%) ;<-- put entity on bank stack entity%=bankPop(mybank) ;<-- get entity off bank stack bankResize(mybank,LargerNumberOfEntities)